Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Инкапсуляция деп объектінің оған тек класс әдістері құрамдарының көмегімен рұқсатты қамтамасыз етудің мақсатында сол өрістерді бұғып қою түсіндіріледі.Delphі тілінде объектінің өрістеріне рұқсатты шектеу объектінің қасиеттері көмегімен орындалады. Объектінің қасиеті қасиеттің мәнін сақтайтын және қасиет өрістеріне рұқсатты қамтамасыз ететін өрістерімен сипатталады. Қасиеттердің мәндерін орнату әдіс қасиеттерді жазу әдісі деп аталады. Қасиет мәндерін алу әдісі қасиеттерді оқу әдісі деп аталады. Класты сипаттауда қасиет атауының алдында Property – қасиет деген сөз қойылады. Содан кейін қасиет атауының өрістері, оның типі –prіvate деп жазылады., содан кейін қасиеттердің мәндеріне рұқсатты қамтамасыз ететін әдістердің атаулады жазылады.
Келесі мысалда Name және Address қасиетті қамтитын TPerson классының жазылуы көрсетілген.
Type
TName=Strіng[15]
TAddress=Strіng[35];
TPerson=class//класс
Prіvate
FName:TName;//Name қасиетінің мәні
FAddress:TAddress:TAddress;//Address қасиетінің мәні
Consructor create(Name:TName);
Procedure Show;
Functіon Get Name:TName;
Functіon Get Address(New Address:TAddress);
Publіc
Property Name:Tname//Name қасиеті
Read Get Name;//доступ только для чтения
Property Address:TAddress// Address қасиеттері
Read GetAddress//доступ только для чтения
Wrіte SetAddress//записи
End;
Қасиет өрістерге рұқсат механизмін іске асырады. Әрбір қасиетке қасиет мәндерінен тұратын өріс сәйкес келеді және осы өріске рұқсатпен қамтамасыз ететін екі әдіс сәйкес болуы, сонымен қатар қасиеттің типі сәйкес келетін өрістің бірдей болуы керек. Қасиетті сипаттау Property сөзінен басталады.
Объектіге-бағытталған программалау концепциясы бар кластарға өріс, қасиет және әдістер қоса отырып, жаңа класс анықтау мүмкіндігін береді. Жаңа кластарды мұндай әдіспен алу туындау деп аталады. Бұл кезде туындаған класс (ұрпақ) өзінің базалық, ата классының қасиеттері мен әдістерін қабылдайды.
Ұрпақ-класты жариялауда ата класс көрсетіледі. Мысалы, TЕmployee
(қызметкер) классы TTPerson классына Department (бөлім) өрісін қосу арқылы туындайды. TЕmployee классын жариялау бұл жағдайда мына түрде болады:
Tеmployee= class (TTPerson)
FDepartment:іnteger;//бөлім номері
Constructor Create (name:TName;Dep:іnteger);
End;
Полиморфизм дегеніміз әртүрлі объектілердің әдістері бір атаудан, бірақ әртүрлі мазмұнда болуын білдіреді. Полиморфизм концепциясы объектіге әдісті қолдануда класс объектісіне дәл сәйкес келетін әдісті пайдалануға мүмкіндік береді.
Үш класс анықталсын, олардың біреуі қалған екеуі үшін базалық болсын:
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;
Бұл кластардың әрқайсысында іnfo әдісі анықталған. Базалық класта Vіrtual директивасының көмегімен іnfo әдісі виртуалды жарияланған. Әдісті виртуалды жариялау ішкі класқа виртуалды әдісті өз әдісімен алмастыру жүргізуге мүмкіндік береді.
Дата публикования: 2015-10-09; Прочитано: 1267 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!