26
Туынды класс ішінде базалық кластың базалық қорғалған мүшелері
рұқсат етілген.
Базалық класс тізімінде туынды класты жариялауға public
модификациялары қолданылады: protected: private: олардың көмегімен
базалық кластың мүшелері рұқсат етілмеуі мүмкін.
Бұл С++ тілінің маңызды функциясы болып, объекттіге бағытталған
программалаудың жақсы стилінің белгісі табылады.
Базалық кластың қорғалған мүшелері туынды кластың қорғалған
мүшелері болады және main функциясы ішінде олар рұқсат етілген болады.
Protected рұқсат ету спецификаторын құрылыммен бірге де қолдануға
болады.
Конструкторлар, деструкторлар және мұрагерлік.
Егер базалық және туынды кластардың конструкторлары мен
деструкторлар бар болса, онда конструкторлар мұрагерлік тәртіппен, ал
деструктор кері тәртіпте орындалады.
Базалық класта инициализация бірінші болып орындалуы, ал туынды
класс деструкторы объект жойылғанға дейін шақырылуы керек.
Базалық және туынды кластардың барлық қажет аргументтері туынды
класс объектілері құрылғанда туынды класс конструкторына беріледі. Кейін
туынды класс конструкторын жариялаудың кеңейтілген формасын қолдана
отырып, сәйкес аргументтер әрі қарай базалық класқа беріледі. Аргументтерді
туындыдан базалық класқа берілу синтаксисі төменде көрсетілген:
туынды_класс_конструкторы
(аргументер_тізімі):
базалық_класс
(аргументтер_ тізімі)
Базалық және туынды кластар үшін бірдей элементтерді қолдану рұқсат
етілген. Сонымен туынды класс үшін базалық аргументтерді елемеуге және
тікелей оларды базалық класқа беру рұқсат етілген.
Бақылау сұрақтары:
1)
Базалық және туынды кластар әдістерінің бірдей аттары болуы
мүмкін бе?
2)
Туынды кластың болашақ ұрпағына базалық кластың әдістері мен
деректеріне мұра бола ала ма?
3)
Three класы Two класымен түзілген болсын, ал Two класы One
класымен түзіледі. Бұл әдістің қай түрін Three класы алады?
4)
Базалық класта public түрінде сипатталып өткен әдісті туынды
класта private: түрде сипаттауға бола ма?
5)
Protected қызметші сөзі қандай мақсатта қолданылады?
Достарыңызбен бөлісу: