Объекті- бадарлы тсілдерді негіздері.

Объектіге - бадарлы (ОББ) тсілдеріні негізінде берілгендерді жне олара орындалатын іс - рекеттерді жиынын бір рылыма біріктіру ойы жатыр. Берілгендерді рістері, орындалатын рекеттерді іске асыратын ішкі программаларды дістері деп атайды. Object Pascal рамына рістерді, дістерді жне асиеттерді біріктіретін арнайы тр – класс ендірілген. Класс рамына берілгендер мен берілгендерге орындалатын рекеттер жиыны кіреді. ОББ тсілдері инкапсуляция, иемдену жне полиморфизм ымдарына негізделген.

Инкапсуляция дегеніміз - берілгендерді оларды басаратын процедура жне функциялармен атар олдану. Осындай атарластыруды нтижесінде берілгендерді жаа трі - объект пайда болады.

Полиморфизм - класты барлы объектілеріне олдануа болатын аты бірдей рекетті анытауды ммкіндігі, сонымен бірге р объект осы рекетті зінше орындайды. Объектке - бадарлы тсілдері айтарлытай крделі есептерді программаларын растыруды жеілдетеді жне программаны кодын айталап олдануа ммкіндік тызыды.

2. Мрагерлік. Кез келген класс баса кластан туындайды. Ол шін оны хабарлаанда ата- ана класты аты крсетіледі:

Tchildclas= class(TparentClass).

Туындаан кластан автоматты трде зіні ата-анасыны рісі, дісі жне асиеті шыады жне оларды жаамен толытырылуы ммкін. Сйтіп, мрагерлік принципі крделі кластарды кеземен руды жне зіні жеке кластар кітапханасын жасауа ммкіндік береді.

Object Pascal - ды барлы кластары жалыз ата-ана TObject класынан туындаан. Бл класты рісі жне асиеттері жо, біра зіне кез келген объектілерді барлы мірлік асиеттерін амтитын жалпы таайындалуды дістерін амтиды. Программист Tobject класы ата-ана болмайтын класс ра алмайды. Оан тмендегідей бейнелеулер тн:

TaClass=Class(TObject)

TaClass= Class.

Мрагерлік принципі TObject классынан оны рпатарына арай дами отырып, біртіндеп кеейетін тарматалан кластар руа келеді.

рбір рпа зіні ата-анасыны ммкіндіктерін толытырып, оны зіні рпатарына беріп отырады.

 

 

1- Сурет. Дельфидегі кластар тармаы

1 – суретте дельфидегі кластар тармаы келтірілген. TPersistent класы зіні TObject ата-анасыны ммкіндіктерін кеейтеді: ол мліметтерді файла сатап, оны одан айтадан ала алады, нтижесінде оны барлы рпатары осы ммкіндіктерді орындай алады. TComponent класы з кезегінде, класты рушыны ортасымен рекеттесіп, оны зіні рпатарына бере алады. TControl класы файлдармен жне класты рушыны ортасымен ана жмыс істеп оймай, сонымен бірге экранда крінетін бейнелерді руа жне оны ызметін орындауа абілетті, ал оны рпаы TWinControl Windows терезелерін де ра алады жне т.б. Алдын - ала аныталан объектілерді пайдалану арылы оларды туындыларын растыру ммкіндігі. Кез келген класс алы буын класыны туындысы ретінде аныталуы ммкін. Осындай туынды алы буынны рістерін, дістерін жне асиеттерін иемденеді. Осы стте иемденген берілгендерді, дістерді жне асиеттерді анытауды ажеті жо, оларды бірден пайдалануа болады.

Мрагерлікке мысал:

1 мысал:

class A

{

int a;

}

class B : public A

{

int b;

}

2 мысал:

class A

{

public:

A() : a1(0xa1111111), a2(0xa2222222), a3(0xa3333333){};

void a(){ a1 = 1;}; int a1, a2, a3;

}; class C : public A{

public: C() : A(), c1(0xc4444444){}; virtual void goo(){};

int c1;}.

 

Баылау сратары:

1. Ата- ана класы дегенімізді алай тсінесін?

2. Мрагерлік дегеніміз не?

3. TPersistent класы зіні андай класты ммкіндіктерін кеейтеді?