Объекті- бағдарлы тәсілдердің негіздері.
Объектіге - бағдарлы (ОББ) тәсілдерінің негізінде берілгендерді және оларға орындалатын іс - әрекеттердің жиынын бір құрылымға біріктіру ойы жатыр. Берілгендерді өрістері, орындалатын әрекеттерді іске асыратын ішкі программаларды әдістері деп атайды. 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 класы өзінің қандай кластың мүмкіндіктерін кеңейтеді?