Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Zugriffsmodifikatoren in der Vererbung | Überblick Über die Vererbung
C++ OOP
course content

Kursinhalt

C++ OOP

C++ OOP

1. Grundlagen der OOP in C++
2. Konstruktoren und Destruktoren
3. Kapselungsübersicht
4. Überblick Über die Vererbung
5. Überblick Über Polymorphismus

book
Zugriffsmodifikatoren in der Vererbung

Zugriffsmodifikatoren in der Vererbung sind entscheidend in der objektorientierten Programmierung mit C++. Sie bestimmen, wie Mitglieder (Attribute und Methoden) einer Basisklasse von einer abgeleiteten Klasse aus zugänglich sind. Das Verständnis dieser Modifikatoren ist wesentlich für ein effektives Klassendesign und für die Aufrechterhaltung der Kapselung und Integrität der Daten.

Zugriffstypen der Vererbung

Eine Klasse kann von einer anderen Klasse abgeleitet werden. Die abgeleitete Klasse erbt Mitglieder von der Basisklasse, aber die Zugänglichkeit dieser geerbten Mitglieder hängt sowohl vom in der Basisklasse verwendeten Zugriffsmodifikator als auch vom Vererbungstyp ab.

Basisklasse publicBasisklasse protectedBasisklasse private
public Vererbung
Öffentlich in abgeleiteter Klasse
Geschützt in abgeleiteter Klasse
Nicht zugänglich
protected Vererbung
Geschützt in abgeleiteter Klasse
Geschützt in abgeleiteter Klasse
Nicht zugänglich
private Vererbung
Privat in abgeleiteter Klasse
Privat in abgeleiteter Klasse
Nicht zugänglich
cpp

public

cpp

protected

cpp

private

copy
12345
class Derived : public Base { // publicMember is public // protectedMember is protected // privateMember is not accessible };

Zugriffskontrolle und Vererbung Fazit

In der objektorientierten Vererbung sind private Mitglieder der Basisklasse für abgeleitete Klassen unzugänglich, um sie vor Änderungen oder Abrufen zu schützen, und geschützte Mitglieder können nur innerhalb der Unterklasse zugegriffen werden, während öffentliche Mitglieder extern zugänglich sind. Sie können damit experimentieren, indem Sie den untenstehenden Code-Schnipsel verwenden.

cpp

main

copy
1234567891011121314151617181920
class Base { public: int publicAttribute; protected: int protectedAttribute; private: int privateAttribute; }; class PublicDerived : public Base {}; class ProtectedDerived : protected Base {}; class PrivateDerived : private Base {}; int main() { PublicDerived obj1; ProtectedDerived obj2; PrivateDerived obj3; }

Denken Sie daran

Geschützte Mitglieder, die innerhalb abgeleiteter und nachfolgend abgeleiteter Klassen zugänglich sind, dienen als Brücke zwischen privaten und öffentlichen Elementen.

Konstruktoren und Destruktoren werden automatisch für abgeleitete Klassen Objekte aufgerufen, um eine ordnungsgemäße Ressourceninitialisierung und -bereinigung sicherzustellen. Um auf diese Basisklassenelemente direkt zuzugreifen, müssen Konstruktoren und Destruktoren öffentlich deklariert werden.

Was bestimmt, wie Mitglieder einer Basisklasse von einer abgeleiteten Klasse aus zugänglich sind?

Was bestimmt, wie Mitglieder einer Basisklasse von einer abgeleiteten Klasse aus zugänglich sind?

Wählen Sie einige richtige Antworten aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 4. Kapitel 2
We're sorry to hear that something went wrong. What happened?
some-alt