Полное название лекции: DELPHI-ДЕГІ КЛАСТАР ИЕРАРХИЯСЫ. TOBJECT КЛАСЫ. DELPHI-ДЕГІ КОМПОНЕНТТЕР ЖӘНЕ ОБЪЕКТІЛЕР КЛАСТАРЫ. План лекции:
1. Delphi-дегі кластар иерархиясы
2. TObject класы
3. Кластарды хабарлау.
Лекция разработана для специальности 1304000 "Вычислительная техника и программное обеспечение" для студентов 2 курса. Дисцплина: Основы алгоритмизации и программирования. Лекция на казахском языке.
Дәріс15.docx
«Қаржы Академиясы»
АҚ колледжі
Сапа менеджменті жүйесі
«Алгоритмдеу және бағдарламалау
негіздері» пәні бойынша оқу
әдістемелік кешен
СМЖ ҚА ОӘК
2427012009
күні
бет 1ші 348 ден
DELPHIДЕГІ КЛАСТАР ИЕРАРХИЯСЫ. TOBJECT КЛАСЫ. DELPHIДЕГІ
КОМПОНЕНТТЕР ЖӘНЕ ОБЪЕКТІЛЕР КЛАСТАРЫ
Дәріс №15
Жоспар
1. Delphiдегі кластар иерархиясы
2. TObject класы
3. Кластарды хабарлау
1. Delphiдегі кластар иерархиясы
Delphiде кластар деп бағдарламаның жұмысын аяқтаған бөлігін айтады, олар
өздеріне үлгі жасап алады. Бағдарлама құрастырушы бір рет қана класс құрып, оның
көшірмесін түрлі бағдарламаларға енгізе алады, немесе бір бағдарламаның бірнеше
жеріне орналастыра алады. Мұндай әдіс, бағдарлама құруда оның алдында жазылған
үзінділерді қолдану есебінен жоғары нэтиже алуға ықпалын тигізеді. Delphi
құрамына Borland корпорациясы бағдарламашылары дайындаған бірнеше жүздеген
кластар кіреді. Оларды стандарт кластар деп атайды. Стандарт кластардың
жиынтығы бағдарлама құрудың жоғары мүмкіндігін анықтайды.
Әрбір компонент қатаң түрде белгілі бір класқа жатады, ал компоненттің
формаға қойылатын барлық нақты даналары, сандық индекс қосылған класс атына
ие болады. Delphiде қолдануда келісім бойынша кластар аты Т әрпінен басталады.
Осылай, TForm1 дегеніміз стандарт TForm бойынша жасалған кластың атын
білдіреді. Егер сіз код терезесінде мәтіннің басын көретін болсаңыз, онда келесі
қатарларды көресіз:
Type
TForm1=class(TForm)
TForm стандартты класының үлгісінде пайда болған
TForm1 жаңа класты хабарлайды. Forml=TForml; осы
кластың Forml атты данасын құрады.
TForm стандартты класы Windowsтың бос терезесін
жазады. Бұл уакытта TForm1 класы қойылып қойған
белгі және батырма компоненттерін жазады.
Buttonl компоненті Tbutton стандартты класының бір
данасын, ал Label1 Tlabel класының данасы екенін
білдіреді. Процедураның TForm1.ButtonlClick атынан
кейін
дөңгелек жақшада шақыру праметрінің
түсініктемесі жазылады. (Sender:TObject). Sender аты бар
параметр Tobject класына жатады.
Buttonl:TButton;
Label1:TLabel;
Procedure Button1Click
(Sender: TObject);
private
{Private declarations}
public
{Private declarations}
end; «Қаржы Академиясы»
АҚ колледжі
Сапа менеджменті жүйесі
«Алгоритмдеу және бағдарламалау
негіздері» пәні бойынша оқу
әдістемелік кешен
СМЖ ҚА ОӘК
2427012009
күні
бет 2ші 348 ден
Var Form1:TForm1;
Implementation {$R*.dfrn}
Біз көріп отырғандай ары қарай процедураларда бір емес бірнеше
шақыру параметрлері болатынын немесе мүлдем болмайтынын байқаймыз. Шақыру
параметрлері (егер олар бар болса) процедурадағы белгілі бір жұмысты орындайтын
жүзеге асырылған алгоритмді баптауға қызмет етеді. Sender параметрі Delphiгe
қажет болған жағдай үшін қойылған. Оның көмегімен Button1Click қосалқы
бағдарламасы OnClick оқиғасының қандай компонент қүрғанын анықтай алады.
Procedure Button1Click (Sender:TObject); процедураның тақырыбы деп
аталады. Оны « » символы аяқтайды. Бұл символ Object pascalда маңызды роль
атқарады, компиляторға тілдегі сөйлемнің аяқталғанын көрсетеді. Жеке
сөйлемдерден бағдарламаның толық мәтіні құрастырылады. Әрбір сөйлемнің
соңында нүктелі үтір қою керек бұл тіл синтаксисінің міндетті талабы. Begin
End;қатарлары процедураның денесін анықтайды
Біз үшін маңыздысы, Button1 батырмасын басқан сайын басқару процедура
денесіне беріліп отырады, яғни, begin және end сөздерінің арасына осы оқиғаға жауап
беретін бағдарлама үзіндісін қоюға болады. Процедура денесіне Close сөзін
жазыңыз. (Қосымша терезесін жабу)
2. TObject класы
Object Pascal дың барлық кластары жалғыз атаана TObject класынан
туындаған. Бүл кластың өрісі және қасиеттері жоқ, бірақ өзіне кезкелген
объектілердің барлық өмірлік қасиеттерін қамтитын жалпы тағайындалудың
әдістерін қамтиды. Бағдарламалаушы TObject класы ата ана болмайтын класс құра
алмайды. Оган төмендегідей бейнелеулер тән:
TaClass=Class(TObject)
TaClass=Class
Мұрагерлік принципі TObject класынан оның ұрпақтарына қарай дами отырып,
біртіндеп кеңейетін тармақталған кластар құруға әкеледі. Әрбір ұрпақ өзінің ата
анасының мүмкіндіктерін толықтырып (жаңартып), оның өзінің ұрпақтарына беріп
отырады.
1суретте Delphiдегі кластар тармағы келтірілген.
TPersistent класы өзінің TObject атаанасының мүмкіндіктерін кеңейтеді: ол
мәліметтерді файлға сақтап, оны одан қайтадан ала алады, нэтижесінде оның
барлық ұрпақтары осы мүмкіндіктерді орындай алады.
TComponent класы өз кезегінде, класты құрушының ортасымен әрекеттесіп,
оны өзінің ұрпақтарына бере алады.
TControl класы файлдармен және класты құрушының ортасымен ғана жұмыс
істеп қоймай, сонымен бірге, экранда көрінетін бейнелерді қүруға және оның
қызметін орындауға қабілетті, ал оның ұрпағы TwinControl Windows терезелерін де
құра алады және т.б. «Қаржы Академиясы»
АҚ колледжі
Сапа менеджменті жүйесі
«Алгоритмдеу және бағдарламалау
негіздері» пәні бойынша оқу
әдістемелік кешен
СМЖ ҚА ОӘК
2427012009
күні
бет 3ші 348 ден
3. Кластарды хабарлау
Жаңадан құрылатын кез келген класс төмендегідей қызметші сөздермен
анықталатын секциялардан тұрады: Private (жабылған), protected (қорғалған), public
(мүмкін) және automated (автоматтандырылған). Әрбір секцияның ішінде басында
өріс, одан кейін әдістер мен қасиеттер анықталады.
Секциялар класы сипаттау элементтерінің көрінетін бөлінгін анықтайды.
Public секциясы ондағы көрсетілген өрістердің көріну бөлігіне шектеулер
жасамайды, әдістер мен қасиеттерді кез келген басқа бағдарлама модулінде
шақыруға болады. Published секциясы көріну бөлігін шектемейді, бірақ мұнда тек
орындалу кезеңінде ғана мүмкін болатын қасиеттер ғана емес, бағдарлама құру
кезеңіндегі қасиеттер жазылады (яғни объектілір инспекторы терезесінде).
Published секциясы тек стандартты емес компоненттерді жасауда
пайдаланылады. Delphi ортасы формаға орнатылған компоненттерді сипаттауды
арнайы аты жоқ секцияға орналастырады, ол класс тақырыбынан кейін жазылады да,
бірінші хабарланған секцияға дейін жалғасады. Бүл секция Published деп аталады.
Private секциясы көріну бөлінген ең төменгі деңгейде дейін кішірейтеді:
жабық элементтердің сипатталуы осы кластың ішіндегі, яғни класс сипатталған
модульде орналасқан әдіс пен қосалқы бағдарламаға ғана пайдаланылады. Protected
секциясы тек сол кластың эдістері үшін, сондайақ, кез келген оның үрпақтары үшін
пайдаланылады, бірақ оның орналасуына тәуелсіз.
Private секциясында хабарланған элемент, егер ол басқа модульде орналасқан
болса, тіпті кластың жақын ұрпақтары үшін де пайдаланылмайды. Automated
секциясы ОLЕні автоматтандыру интерфейсінде қосылатын қасиеттер мен
әдістерді хабарлау үшін пайдаланылады; бұл секцияның мүшелерінің көріну бөлігі
шектелмеген.
Object Pascal де кез келген секцияны бірнеше рет, яғни қажетіне карай
хабарлай беруге болады, секцияларды пайдаланушы қалауынша орналастыруына
болады. Кез келген секция бос болуы мүмкін. Келесі бағдарлама фрагменті
секциялардың экрандагы көріну бөлігін сипаттайды
Unit Unitl;
Interface Uses Controls, Forms;
Type
TForm 1 =class(TForm)
Buttonl :TButton;
Private
FintField: integer;
Pro cedure SetValue(Val ue: Integer);
Function GetValueTnteger;
Published
Property IntField: read GetValue
write SetValue
Protected
Procedure Procl; «Қаржы Академиясы»
АҚ колледжі
Сапа менеджменті жүйесі
«Алгоритмдеу және бағдарламалау
негіздері» пәні бойынша оқу
әдістемелік кешен
СМЖ ҚА ОӘК
2427012009
күні
бет 4ші 348 ден
Public
Procedure Proc2;
End;
Var
Forml:TForml;
Implementation
Procedure TForm1. Procl;
Button 1 .Color:=clBtnFace;
FIntField:=0;
IntField:=0;
Unit Unitl;
Interface
Uses Controls, Unitl;
Type
TForm2=class(TForm1)
Button2:TButton;
Procedure Button2
Procedure Button2Click
(Sender:TObject);
End;
Var
Form2:TForm2;
Procedure
Tform2.Button2Click (Sender:TObject);
Procl;
Proc2;
End;
Begin
Form 1 .Button 1 .Color:=clBtnFace;
Forml. FLintField:=0;
Forml. IntField:=0;
Forml.Procl; //Бүл жазу қате!
Forml. Proc2;
End;
Begin
Buttonl.Color:=clBthFace;
FintField:=0; // Бүл жазу қате!
Procl;
Proc2;
End;
Begin
Form1.Buttonl.Color:=clBthFace;
Forml.FintField:=0; // Бұл жазу қате!
Forml.IntField:=0;
Ғогт1.Ргос1;//Бүл жазу қате!
FormLProc2;
End; Класс — ұрпақты хабарлауда класс элементтерін бір көріну бөлігінен басқа
бөлігіне алмастыруға болады. Алдыңғы мысал үшін төмендегідей хабарлауды
жазуға болады:
Type
Tform2=class(TForm2)
...
Public
Procedure Procl;
...
end;
Осындай хабарлаудан кейін Unit2 модулін былай шақыруға болады:
Form2.Procl;
Private секциясына алмастыру жасағаннан кейін хабарлау элементі
ұрпақтарына көрінбейді (егер ұрпақ басқа модульде хабарланған болса), онда кейін
оны басқа секцияға орналастыруға болмайды.
Класс модульдің тек интерфейстік бөлігінде немесе жүзеге асырудың
бастапқы кезеңінде хабарланады. Класты қосалқы бағдарламаның сипаттау
бөлігінде анықтауға болмайды.
Бақылау сұрақтары:
1. Класс деп нені түсінеміз?
2. Delphiде кластар дегеніміз не?
3. TObject класынан атқаратын қызметі қандай?
4. Delphiдегі кластар тармағына сипаттама?
5. Класстарды хабарлау жолдарына сипаттама беріңіз?
6. Delphiде класстар қандай әріппен анықталады?
Лекция на тему "DELPHI-ДЕГІ КЛАСТАР ИЕРАРХИЯСЫ".
Лекция на тему "DELPHI-ДЕГІ КЛАСТАР ИЕРАРХИЯСЫ".
Лекция на тему "DELPHI-ДЕГІ КЛАСТАР ИЕРАРХИЯСЫ".
Лекция на тему "DELPHI-ДЕГІ КЛАСТАР ИЕРАРХИЯСЫ".
Лекция на тему "DELPHI-ДЕГІ КЛАСТАР ИЕРАРХИЯСЫ".
Материалы на данной страницы взяты из открытых истончиков либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.