Sobes.tech
Junior
227

C++-да объекті-бағытталған бағдарламалауда мұрагерлік принциптері туралы айтыңыз.

AI-дан жауап

sobes.tech AI

C++-да мұрагерлік жаңа сыныпты (туынды сыныпты) бар болғаны бар сыныпты (ата-ана сыныпты) пайдалана отырып құруға мүмкіндік береді. Туынды сынып ата-ана сыныптың мүшелерін, оның ішінде деректер мен әдістерді, алады және өзіне тән қосымша мүшелерін қосуы мүмкін.

Негізгі принциптері:

  1. Кодты қайта пайдалану: Ата-ана сыныптың функционалдығын қайта жазбай пайдалану.
  2. Кеңейтілімділік: Жаңа сынып ата-ана сыныптың мінез-құлқын кеңейту немесе өзгерту мүмкіндігіне ие.
  3. Полиморфизм (виртуалды функциялар арқылы): Әртүрлі сыныптардың объектілерін бір форматта өңдеуге мүмкіндік береді (ата-ана сыныпқа көрсеткіштер немесе сілтемелер арқылы).

C++-да мұрагерліктің түрлері:

  • Біріктірілген: Бір туынды сынып бір ата-ана сыныптан мұрагерлік алады.
  • Көптік: Бір туынды сынып бірнеше ата-ана сыныптардан мұрагерлік алады.
  • Иерархиялық: Бірнеше туынды сынып бір ата-ана сыныптан мұрагерлік алады.
  • Көп деңгейлі: Сынып басқа сыныптан мұрагерлік алады, ол өз кезегінде басқа сыныптан мұрагерлік алады.
  • Гибридті: Екі немесе одан да көп мұрагерлік түрлерінің комбинациясы.

Қолжетімділік спецификаторлары:

  • public: Ата-ана сыныптың жария мүшелері туынды сыныпта жария болып қалады, қорғалғандар — қорғалған болып қалады, жеке мүшелер қол жетімсіз.
  • protected: Ата-ана сыныптың жария және қорғалған мүшелері қорғалған болып қалады, жеке мүшелер қол жетімсіз.
  • private: Ата-ана сыныптың жария және қорғалған мүшелері жеке болып қалады, жеке мүшелер қол жетімсіз.

Мысал:

// Ата-ана сынып
class Animal {
public:
    void eat() {
        // Тамақтану жүзеге асыру
    }

protected:
    int age; // Туынды сыныптарда қол жетімді

private:
    std::string name; // Туынды сыныптарда қол жетімсіз

};

// Туынды сынып
class Dog : public Animal {
public:
    void bark() {
        // Құйрықтау жүзеге асыру
    }
};