Класс типіндегі айнымалы объект деп аталады.
Объект айнымалы
болғандықтан оған компьютер жадысынан орын бөлінеді.
Объект бойынша жадыда нақтылы не сақталатынын қарастырайық.
Класс деректерінің барлық өрістерінің мәндері сақталады.
Объектті дайындаған кезде автоматты түрде құрылатын this арнайы өрісі
(сілтеме бойынша параметр) объект адресін сақтайды.
Объект және класс әдістерінің байланысы this параметрі арқылы жүзеге
асады. Кластың әрбір әдісі ағымдағы объект элементтерімен жұмыс жасау
үшін this параметрін тікелей қолдана алады.
this ағымдағы объектке
(ағымдағы уақытта бағдарлама жұмысындағы объект) үнемі сәйкес
болғандықтан, класс әдістері ағымдағы
объект элементтерімен жұмыс
жасайды.
This нұсқауышын пайдалану класс әдістерінің көшірмесін әрбір объект
үшін жасамауға мүмкіндік береді. Сонымен класс әдістері әрбір объект үшін
тираждалмайды.
7.5 Қосымшаны қуру мысалы
Ұшбұрыш класын құру бойынша мысалды қарастырайық (бірінші
бөлімдегі мысалдың негізінде).
Визуалды бағдарламалау кезеңінде Toolbox
терезесінен көшірілген
стандартты басқару элементтерін қолданатын боламыз: тұрақты мәтін
(Label), енгізу өрісі немесе редакциялау терезесі (TextBox) және командалық
батырма (Button).
Form1.cs файлының коды:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace WindowsApplication1
{
public partial class Form1 : Form
{
public
class treyg
{
private int a, b, c, p;
public string ss;
public void vvod(int sa, int sb, int sc)
{
if (sa > 0 && sb > 0 && sc > 0)
{
if (sa + sb > sc && sa + sc > sb && sb + sc > sa)
{
a = sa; b = sb; c = sc;
p = a + b + c;
ss = "Үшбұрыш мысалы = " + p.ToString();
}
else
ss = "Үшбұрыштың бір қабырғасы қалған екі қабырғаның
қосындысынан үлкен. Мәндерді қайта енгізіңіз";
}
else
ss = "Үшбұрыштың бір қабырғасының ұзындығы 0-ден кіші!
Мәндерді қайта енгізіңіз";
}
}
public Form1()
{ InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
int A, B, C;
treyg t = new treyg();
A = Convert.ToInt32(textBox1.Text);
B = Convert.ToInt32(textBox2.Text);
C = Convert.ToInt32(textBox3.Text);
t.vvod(A, B, C);
textBox4.Text = t.ss;
}
}
}
Кластың
кейбір
элементтерін
және
олардың
бағдарламада
қолданылуын қарастырайық.
class treyg класының деректерімен және
әдістерімен жұмыс орындау
үшін осы кластың объектісін– t айнымалысын құру керек.
treyg t = new treyg();
Кластың private int a, b, c, p; деректері жабық болады.
Класс
деректерінің элементтеріне оның әдістері арқылы ғана қол жеткізуге болады.
7.1-сурет – «Треугольник Класс» қосымшасының терезесі
Мысалы, егер t объектісін құрғаннан кейін деректер элементіне b (
t.b = 3; ) жаңа мәнді меншіктейтін болсақ, онда
бұл әрекет қате кеткені
туралы хабарды шығарады, өйткені класс деректерінің элементтеріне тікелей
байланысуға private қол жеткізу спецификаторы рұқсат бермейді.
treyg класында екі әдіс қолданылады – конструктор және ұшбұрыш
қабырғаларының мәндерін енгізу әдісі.
Конструктор өрістерінің мәндері «нөлдік» болатын объектті құрайды.
treyg класының өрістерінің мәндерін анықтау public void vvod(int sa, int
sb, int sc) арқылы орындалады, әдістегі нақтылы параматрлері ретінде диалог
режімінде енгізлген А, В, С айнымалыларының мәндері беріледі.
Бағдарламада үшбұрыш қабырғаларының
мәндерін дұрыс енгізбеу
және сәйкес түсініктемелерді экранға шығару жағдайлары қарастырылған.
Бірақ мәтіндік өрістер бос болып, «Үшбұрыш
қабырғаларының мәндерін
енгізу» батырмасын басуға қатысты қорғаныс қарастырылмаған.
Достарыңызбен бөлісу: