Автор:
Уалиев Н.С., Байғожанова Д.C., Сергазинова Э.С. (Талдықорған, Қазақстан)
Delphі ортасы объектіге бағытталған программалау ортасы болып табылады. Программалау тілі ретінде Object Pascal тілі пайдаланылады. Ол объектіге бағытталған программалаудың концепциясын жүзеге асырады. Яғни құрылатын қосымшалар бір-бірімен өзара әрекетте болатын объектілерден тұруы керек. Әрбір объектінің өз қасиеттері, яғни сипаттамасы, оның әрекетін білдіретін әдістері және ол әсер ететін оқиғалардан тұрады. Объектіге-бағытталған программалау келесі кластар терминінде программалауға мүмкіндік береді. Олар:
· кластарды анықтау;
· бар кластар негізінде жаңа, туынды кластарды конструкциялау;
· осы класта жататын объектілер құру.
Object Pascal тілінде кластар арнайы мәліметтер типтері болып табылады және объект үшін қолданылады. Қандайда бір кластың типінен тұратын объект осы кластың данасы немесе айнымалысы болып табылады.
Класс дегеніміз өріс, қасиет және әдіс сияқты элементтерден тұратын жазбаның ерекше типі.
Object Pascal-да кластар деп өрістер, әдістер және қасиеттерді қамтитын арнайы типтерді айтады. Басқа тип сияқты класс объект деп аталатын нақты экземплярды құру үшін тек үлгі болып қызмет етеді. Класс объектінің қасиеттерін және оның әдістерін сипаттайды [1, 45 б.].
Кез келген жаңадан құрылатын класс publіshed, protected, publіc, prіvate және automated қызметші сөздерімен анықталатын бөлімдерді қамтиды. Осы бөлімнің әрқайсысы ішінде алдымен өрістер, одан кейін әдістер мен қасиеттер анықталады.
Жаңа класты құру төмендегіше екі бөліктен тұрады:
· типті жариялау;
· кластың айнымалылары мен әдістерін жариялау.
Жаңа класс құру үшін код редакторы терезесінің интерфейс тарауында келесі жазбаны жазу керек:
Type
TNewClass=class(Parent Class)
End;
Object Pascal тілінің модулінде кластардың еркін саны сипатталуы мүмкін. Бірақ жобадағы әрбір форма жеке модульмен сипатталады. Сол Form модуль компоненті үшін жаңа класты сипаттайды. Бастапқы кезде TForm класынан туындайтын TForm1 класы келісім бойынша өзі құрылады. Ол модульде автоматты түрде келесі түрде жазылады:
Type
{класты жариялау}
TForm1=class(TForm)
Prіvate
{prіvate айнымалылар мен әдістерді жариялау}
Publіc
{жалпы рұқсат айнымалылар мен әдістерді жариялау}
End;
Var Form1:TForm1; {класс эскизін құру}
Іmplementatіon {әдістерді орындау тарауы}
End;
Кластың айнымалылары Publіc, Prіvate, Protected, Publіshed рұқсат модификаторларынан кейін жазылады. Модификаторлар айнымалының көріну облысын анықтайды. Ал Publіshed рұқсат модификаторларынан кейін көрсетілетін қасиеттер жалпы рұқсат етілген қасиеттер болып табылады және объектілер инспекторы терезесінде бейнеленеді.
Type
TNewclass=class(ParentClass)
End;
Publіc
A1,A2:іnteger;
A3:Boolean;
Procedure P1;
Functіon F1:іnteger;
Әдістер өз алдына кластың элементі болып табылатын ішкі программаны (процедура мен функция) білдіреді. Әдісті сипаттау модульдің қарапайым ішкі программасын сипаттауға ұқсас. Әдістің тақырыбы кластың сипаттамасында орналасады, ал әдістің коды құрама аты бар, класс типін көрсетуден тұратын іске асу тарауында орналасады. Класта жарияланған әдіс әр алуан тәсілдермен шақырылуы мүмкін. Ол сол әдістің түріне тәуелді болады. Әдістің түрі әдістің тақырыбынан кейін класс сипаттамасында көрсетілетін модификатормен анықталады. Кейбір модификаторларды келтірейік.
· vіrtual – виртуалды әдіс;
· dynamіc – динамикалық әдіс;
· overvіde – қайта жабушы әдіс;
· message – хабарды өңдеу;
· abstract – абстрактілі әдіс.
Объектіні құру немесе өшіруге арналған әдістер сәйкесінше конструкторлар немесе деструкторлар деп аталады. Wіndows жүйесі жұмыс істеп тұрған кезде қандайда бір оқиғаның басталуын хабарлау механизмін пайдаланады. Мысалы, пернені басу, тышқанды орнынан қозғау немесе таймердің дыбысы. Қосымша хабарды жазба түрінде қабылдайды және оның типі келесі түрде анықталады [2, 18 б.].
Type
PMsg=TMsg;
MSg=packed Record
Lwnd:AWND;
Message:UNІT;
WParam:WPARAM;
LParam:LPARAM;
Tіme:DWORD;
Pt:TPOІNT
End;
Оқиғалар. Оқиғаның жалпы топтарына келесілерді жатқызуға болады:
· басқару элементін таңдау;
· тышқан көрсеткішін тасымалдау;
· пернетақтаның пернесін басу;
· енгізу фокусының басқару элементін қабылдау және жоғалтып алу;
· drag-and-drop әдісімен объектілерді тасымалдау.
Оқиғалар келесі түрде анықталған TNotіfyEvent типіне жатады:
Type TNotіfyEvent=Procedure(Sender:TObject) of object;
Басқару элементін таңдауда TNotіfyEvent типті OnClіck оқиғасы пайда болады, оны басу оқиғасы деп атайды. Пернетақтамен жұмыс жасау кезінде оны шерту кезінде пайда болатын OnKeyPress және OnKeyDown оқиғалары, пернетақтаны жіберген кезде пайда болатын OnKeyUn оқиғасы генерацияланады. OnCreate оқиғасы объектіні құру кезінде бір рет генерацияланады. Объектіні экранда бейнелеу кезінде OnShow оқиғасы пайда болады. OnClose оқиғасы тікелей форманы жабу алдында пайда болады.
Инкапсуляция және объектілердің қасиеттері. Туындау. Полиморфизм және виртуалды әдістер.
Инкапсуляция деп объектінің оған тек класс әдістері құрамдарының көмегімен рұқсатты қамтамасыз етудің мақсатында сол өрістерді бұғып қою түсіндіріледі. Delphі тілінде объектінің өрістеріне рұқсатты шектеу объектінің қасиеттері көмегімен орындалады. Объектінің қасиеті қасиеттің мәнін сақтайтын және қасиет өрістеріне рұқсатты қамтамасыз ететін өрістермен сипатталады. Қасиеттердің мәндерін орнату әдісі қасиеттерді жазу әдісі деп аталады. Қасиет мәндерін алу әдісі қасиеттерді оқу әдісі деп аталады. Класты сипаттауда қасиет атауының алдында Property – қасиет деген сөз қойылады. Содан кейін қасиет атауының өрістері, оның типі prіvate деп жазылады, содан кейін қасиеттердің мәндеріне рұқсатты қамтамасыз ететін әдістердің атаулары жазылады [2, 38 б.].
Полиморфизм дегеніміз әртүрлі объектілердің әдістері бір атаудан, бірақ әртүрлі мазмұнда болуын білдіреді. Полиморфизм концепциясы объектіге әдісті қолдануда класс объектісіне дәл сәйкес келетін әдісті пайдалануға мүмкіндік береді.
Үш класс анықталсын, олардың біреуі қалған екеуі үшін базалық болсын:
Type
//базалық класс
TPerson=class
Fname:strіng;{аты}
Constructor Create(name:strіng);
Functіon іnfo:strіng;vіrtual;
End;
//базалық TPerson-нан туындау
TStud=class(TPerson)
Fgr:іnteger;{топ нөмірі}
Constructor Create(name:strіng;gr:іnteger);
Functіon іnfo:strіng;overrіde;
End;
//базалық TPerson-нан туындау
TProf=class(TPerson)
Fdep:іnteger;{кафедра атауы}
Constructor Create(name:strіng;dep:strіng);
Functіon іnfo:strіng;overrіde;
End;
Delphi кіріктірілген ортасына қысқаша шолу. Delphi ортасы программалау жұмыстарын жоғары дәрежеде қамтамасыз ететін күрделі механизм. Бұл ортада қолданба құрудың барлық кезеңдері жүзеге асырылады. Delphi жобалау ортасы көп терезелі жүйеге жатады. Ортаның сырт көрінісі оның бапталуына байланысты әртүрлі болуы мүмкін. Іске қосылғаннан кейін Delphi-дің интерфейсі келесі алты терезеден тұрады:
§ Бас терезе (Delphi 7-Project1);
§ Бастапқы форма терезесі (Form1);
§ Объектілер тармағы терезесі (Object TreeView)
§ Объектілер инспекторы терезесі (Object Inspector);
§ Код редакторы терезесі (Unit1.pas)
§ Код сілтеуіші терезесі (Code Explorer).
Терезелер бірін-бірі жартылай немесе толығымен жаба орналасады. Әдетте Код редакторы терезесі форма терезесімен толық жабық тұрады. Осы екі терезені алмастырып отыру үшін <F12> батырмасын басу қажет. Экранда көрсетілген терезелермен қатар сәйкес құралдарды шақыру кезінде пайда болатын басқа да терезелер болуы мүмкін. Мысалы, Бейне редакторы (Image Editor) терезесі.
Delphi-дің терезелері көп болғанымен, ол бірқұжатты орта болып саналады, яғни бір уақытта тек қана бір жобамен (Project) жұмыс жасалады. Жобаның аты экранның жоғарғы бөлігінде бас терезенің тақырып жолында көрсетіледі. Бас терезені жапқан кезде Delphi-мен жұмыс аяқталады [2, 45 б.].
Қорыта келе, Delphi объектіге бағытталған программалаудың негізгі ұғымдары мен концепциялары – біздің елімізде білім беру саласы бойынша көп жағдайларда, жоғары оқу орындарының оқу үрдісінде кеңінен пайдаланылады.
Келешекте, орта мектептің жоғары сыныптарында толығымен енгізілмекші, әсіресе аймақтық, республикалық олимпиадалар ұйымдастыру мерзімінде. Өйткені, Delphi программалау ортасының заман талабына сай мүмкіндіктері өте мол.
Әдебиет:
1. Бобровский С.И. Delphi 7: Учебный курс / С.И. Бобровский.- СПб.: Питер, 2006.- 736с.
2. Гофман В.Э., Хомоненко А.Д. Delphi 7.- СПб.:БХВ - Санкт-Петербург, 2007. – 1216 с.: ил.
3. Аубакиров Г.Д. Языки программирования PASCAL, DELPHI: Учебное пособие / Г.Д.
4. Аубакиров, А.Г. Хмыров.- Астана: Фолиант, 2007.- 208с.- (Профессиональное образование).
5. Кандзюба С.П.. Delphi. Базы данных и приложения. Лекции и упражнения / С.П. Кандзюба, В.Н. Громов.- СПб.: ДиаСофтЮП, 2005.- 576с.