Объектілерді рістері, дістері, асиеттері.

Жоспары:

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 блімшесінде орналастырады.