Sobes.tech
Junior — Middle
114

Объектке бағытталған бағдарламалауда жеке мұрагерліктің ұғымын түсіндіре аласыз ба?

AI-дан жауап

sobes.tech AI

Жеке мұрагерлік — бұл C++-тағы механизм, ол арқылы базалық кластың барлық жарияланған және қорғалған мүшелері мұрагерлік класта жеке мүшелерге айналады.

Бұл келесіні білдіреді:

  • Сыртқы код мұрагерлік кластың объектісі арқылы базалық мүшелерге жете алмайды.
  • Мұрагерлік класс базалық мүшелерді өз ішінде пайдалана алады, бірақ олардың интерфейсін сыртқа ашпайды.

Мысал:

class Base {
public:
    void publicMethod() {}
protected:
    void protectedMethod() {}
};

class Derived : private Base {
public:
    void useBase() {
        publicMethod();      // класс ішінде қол жетімді
        protectedMethod();   // класс ішінде қол жетімді
    }
};

int main() {
    Derived d;
    // d.publicMethod(); // қате: publicMethod Derived ішінде жеке болды
    d.useBase(); // жарайды
}

Жеке мұрагерлік базалық кластың функционалдығын мұрагерлік арқылы жүзеге асыру үшін пайдаланылады, бірақ оны мұрагерлік кластың интерфейсінің бөлігі ретінде көрсетпейді. Бұл жария мұрагерліктен айырмашылығы, онда базалық кластың интерфейсі мұрагерлік кластың интерфейсінің бөлігіне айналады.