Junior
227
C++-да объекті-бағытталған бағдарламалауда мұрагерлік принциптері туралы айтыңыз.
AI-дан жауап
sobes.tech AI
C++-да мұрагерлік жаңа сыныпты (туынды сыныпты) бар болғаны бар сыныпты (ата-ана сыныпты) пайдалана отырып құруға мүмкіндік береді. Туынды сынып ата-ана сыныптың мүшелерін, оның ішінде деректер мен әдістерді, алады және өзіне тән қосымша мүшелерін қосуы мүмкін.
Негізгі принциптері:
- Кодты қайта пайдалану: Ата-ана сыныптың функционалдығын қайта жазбай пайдалану.
- Кеңейтілімділік: Жаңа сынып ата-ана сыныптың мінез-құлқын кеңейту немесе өзгерту мүмкіндігіне ие.
- Полиморфизм (виртуалды функциялар арқылы): Әртүрлі сыныптардың объектілерін бір форматта өңдеуге мүмкіндік береді (ата-ана сыныпқа көрсеткіштер немесе сілтемелер арқылы).
C++-да мұрагерліктің түрлері:
- Біріктірілген: Бір туынды сынып бір ата-ана сыныптан мұрагерлік алады.
- Көптік: Бір туынды сынып бірнеше ата-ана сыныптардан мұрагерлік алады.
- Иерархиялық: Бірнеше туынды сынып бір ата-ана сыныптан мұрагерлік алады.
- Көп деңгейлі: Сынып басқа сыныптан мұрагерлік алады, ол өз кезегінде басқа сыныптан мұрагерлік алады.
- Гибридті: Екі немесе одан да көп мұрагерлік түрлерінің комбинациясы.
Қолжетімділік спецификаторлары:
public: Ата-ана сыныптың жария мүшелері туынды сыныпта жария болып қалады, қорғалғандар — қорғалған болып қалады, жеке мүшелер қол жетімсіз.protected: Ата-ана сыныптың жария және қорғалған мүшелері қорғалған болып қалады, жеке мүшелер қол жетімсіз.private: Ата-ана сыныптың жария және қорғалған мүшелері жеке болып қалады, жеке мүшелер қол жетімсіз.
Мысал:
// Ата-ана сынып
class Animal {
public:
void eat() {
// Тамақтану жүзеге асыру
}
protected:
int age; // Туынды сыныптарда қол жетімді
private:
std::string name; // Туынды сыныптарда қол жетімсіз
};
// Туынды сынып
class Dog : public Animal {
public:
void bark() {
// Құйрықтау жүзеге асыру
}
};