Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Инкапсуляция және объектілердің қасиеттері. Туындау. Полиморфизм және виртуалды әдістер



Инкапсуляция деп объектінің оған тек класс әдістері құрамдарының көмегімен рұқсатты қамтамасыз етудің мақсатында сол өрістерді бұғып қою түсіндіріледі.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 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...