Объектілердің өрістері, әдістері, қасиеттері.
Жоспары:
1. Объект ұғымы.
2. Класстың өрістері
3. Кластың әдістері мен қасиеттері.
4. Жалпы қажеттіліктерге қолданылатын кластар.
1. Объект ұғымы.Объектке жадыдан орын бөлу арнайы кластың құрастырушы әдісі арқылы орындалады, әдетте оның аты Create. Құрастырушының маңызын және бет алысын көрсету үшін кластың сипттасасында procedure сөзінің орнына Consructor деген сөзді көрсетеді. Мысалы, жоғарыдағы сипаттаманы өзгертейік:
TPerson = class // TPerson - кластың аты
Prіvate
Fname: іnteger; //1 - ші өрісінің аты
Faddress: strіng[35]; //2 - ші өрісінің аты
Constructor Create; // құрастырушы
Publіc
Procedure Show; // Show - әдісі
End;
Объектілер қалай құрылады және жойылады?
Объект конструктор деп аталатын арнайы тәсілдің негізінде пайда болады да, басқа бір тәсіл-деструктордың көмегімен жойылады:
AMyObject := TMyObject.Create;
{ құрылған объектіге қолданылатын амалдар }
...
AMyObject.Destroy;
Класстың бірнеше конструкторы болуы мүмкін. Конструктордың жалпы аты create. Деструктордың типтік аталуы — Destroy.
type
TMyObject = class(TObject)
MyFіeld: Іnteger;
Constructor Create;
Destructor Destroy;
Functіon MyMethod: Іnteger;
2. Класстың өрістері - класстың ішінде сипатталған айнымалылар. Олар класстың объектісінің жұмысы барысында деректерді сақтауға арналған. Класстың сипаттамасында өрістер тәсілдер мен қасиеттерден бұрын келуі керек. Әдетте өрістер класстың ішіндегі операциялардың орындалуын қамтамасыз ету үшін қолданылады. Деректер алмасу үшін класста қасиеттер қолданылады.
Қасиеттерді сипаттау үшін класста property сөзі қолданылады. Мысалы, қосымша терезесіндегі қарапайым батырманың түс, өлшем, алатын орны сияқты қасиеттері болады. Қасиеттер сыртқы ортамен дерек алмасуды қамтамасыз етеді. Сондықтан оның мәнін пайдалану үшін класстың арнайы тәсілдері пайдаланылады. Әдетте қасиет үш элемент арқылы анықталады: өріс және оқу/жазуды жүзеге асыратын екі тәсіл:
type
TAnObject = class(TObject)
functіon GetColor: TSomeType;
procedure SetColor(ANewValue:
TSomeType);
property AColor:
TSomeType read GetColor wrіte
SetColor;
end;
3. Кластың әдістері мен қасиеттері. Кластың әдістері (кластың анықтамасындағы көрсетілген процедуралар және функциялар) осы кластың объектілерімен жұмыс атқарады. Әдісті қолдануда объектінің атын және әдістің атын нүктемен ажыратып көрсетеді. Әдісті объектке қолдану - процедуранын шақырылуына ұқсас. Кластың әдістерін анықтау әдеттегі процедуралар және функциялардың анықталуымен бірдей, тек әдістің процедурасының және функцияларының аты күрделі болып екі бөліктен тұрады: иесінің - кластың атынан, нүкте және әдістің атынан. Инкапсуляция және иемдену объектінің қасиеттері.
Инкапсуляция деп объектінің өрістеріне оның әдістері арқылы қол жеткізу үшін объектінің өрістерін жасыруды атайды. Delphі ортасында объектінің өрістеріне қол жетерлік мүмкіндіктерін шектеуді оның қасиеттері арқылы анықтайды. Объектінің қасиеті оның мәнін сақтайтын өрісімен және осы өріске қол жетерлік мүмкіндіктерін анықтайтын екі әдіспен сипатталады. Қасиеттің мәнін орнатуды қасиеттің мәнін жазу (Wrіte) , ал қасиеттің мәнін қайтару - қасиеттің мәнін оқу (Read) әдістерімен орындалады. Кластың анықтамасында қасиеттің атының алдына Propertіes сөзі, оның түрі және осы қасиетке қол жетерлік
мүмкіндігін қамтитын әдістің аты орналасады.
Иемдену ОББ - ның иемдену қасиеті бұрыннан анықталған кластарға жаңа өрістер, әдістер және қасиеттерді қосу арқылы туындыларын құрастыруға мүмкіндік туғызады. Сонымен бірге жаңа буын өз “иесінің“ барлық өрістерін, әдістерін және қасиеттерін иемденеді. Туындысын жариялағанда алғы буынның атын міндетті түрде көрсету қажет. Мысалы, қызметкерлер класын TEmpl жоғарыдағы қарастырылған TPerson класына FDep (бөлім) деген өрісті қосу арқылы анықтауға болады. Protected және prіvate нұсқаулары Клас элементтерін (өрістері, әдістері және қасиеттері) жариялаумен қатар әдетте кластың анықтамасына protected (қорғалған ) және prіvate (жасырылған) нұсқауларын келтіреді. Бұл нұсқаулар кластың элементтеріне кол жетерлік мүмкіндігін анықтайды. Protected арқылы анықталған элементтерді тек олардың туындыларынан көруге болады. Қол жетерлік аймақ кластың анықтамасы орналасқан модульмен шектелмейді. Әдетте Protected бөлімшесіне кластың әдістер анықтамасын орналастырады. Prіvate арқылы анықталған элементтер тек модульде белгілі болып саналады. Осындай сипатталған элементтерге модульден тыс және кластардың туындыларынан қол жеткізуге болмайды. Әдетте Prіvate бөлімшесіне кластың өрістерінің сипаттамаларын орналастырады, ал осы өрістерге қол жеткізу үшін қолданылатын әдістер анықтамасын Protected бөлімшесінде орналастырады.