Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Toegangsmodificatoren bij Overerving | Overzicht van Overerving
C++ OOP
course content

Cursusinhoud

C++ OOP

C++ OOP

1. Fundamenten van OOP in C++
2. Constructors en Destructors
3. Overzicht van Encapsulatie
4. Overzicht van Overerving
5. Overzicht van Polymorfisme

book
Toegangsmodificatoren bij Overerving

Toegangsmodificatoren spelen een cruciale rol in objectgeoriënteerd programmeren, vooral bij overerving. Zij bepalen hoe de leden (attributen en methoden) van een basisklasse toegankelijk zijn voor afgeleide klassen. Inzicht in deze modificatoren is essentieel voor het ontwerpen van effectieve klassen en het behouden van gegevensinkapseling en integriteit.

Toegangstypen van Overerving

Een klasse kan worden afgeleid van een andere klasse. De afgeleide klasse erft leden van de basisklasse, maar de toegankelijkheid van deze geërfde leden hangt af van zowel de toegangsmodificator die in de basisklasse wordt gebruikt als het type overerving.

Base Class publicBase Class protectedBase Class private
public

Public in Derived Class

Protected in Derived Class

Not Accessible

protected

Protected in Derived Class

Protected in Derived Class

Not Accessible

private

Private in Derived Class

Private in Derived Class

Not Accessible

public.cpp

public.cpp

protected.cpp

protected.cpp

private.cpp

private.cpp

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

Toegangscontrole en Overerving Conclusie

Bij objectgeoriënteerde overerving zijn private leden van een basisklasse niet toegankelijk voor afgeleide klassen, waardoor ze beschermd zijn tegen wijziging of opvraging. Protected leden zijn alleen toegankelijk binnen de subklasse, terwijl public leden extern toegankelijk zijn. U kunt hiermee experimenteren met behulp van de onderstaande codevoorbeeld.

main.cpp

main.cpp

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; }
Note
Opmerking

Protected leden, toegankelijk binnen afgeleide en verder afgeleide klassen, fungeren als een brug tussen private en public elementen.

Constructors en destructors worden automatisch aangeroepen voor objecten van afgeleide klassen, wat zorgt voor correcte initialisatie en opruiming van resources. Om deze elementen van de basisklasse direct te benaderen, moeten constructors en destructors als public worden gedeclareerd.

question mark

Wat bepaalt hoe leden van een basisklasse toegankelijk zijn voor een afgeleide klasse?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 4. Hoofdstuk 2

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

course content

Cursusinhoud

C++ OOP

C++ OOP

1. Fundamenten van OOP in C++
2. Constructors en Destructors
3. Overzicht van Encapsulatie
4. Overzicht van Overerving
5. Overzicht van Polymorfisme

book
Toegangsmodificatoren bij Overerving

Toegangsmodificatoren spelen een cruciale rol in objectgeoriënteerd programmeren, vooral bij overerving. Zij bepalen hoe de leden (attributen en methoden) van een basisklasse toegankelijk zijn voor afgeleide klassen. Inzicht in deze modificatoren is essentieel voor het ontwerpen van effectieve klassen en het behouden van gegevensinkapseling en integriteit.

Toegangstypen van Overerving

Een klasse kan worden afgeleid van een andere klasse. De afgeleide klasse erft leden van de basisklasse, maar de toegankelijkheid van deze geërfde leden hangt af van zowel de toegangsmodificator die in de basisklasse wordt gebruikt als het type overerving.

Base Class publicBase Class protectedBase Class private
public

Public in Derived Class

Protected in Derived Class

Not Accessible

protected

Protected in Derived Class

Protected in Derived Class

Not Accessible

private

Private in Derived Class

Private in Derived Class

Not Accessible

public.cpp

public.cpp

protected.cpp

protected.cpp

private.cpp

private.cpp

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

Toegangscontrole en Overerving Conclusie

Bij objectgeoriënteerde overerving zijn private leden van een basisklasse niet toegankelijk voor afgeleide klassen, waardoor ze beschermd zijn tegen wijziging of opvraging. Protected leden zijn alleen toegankelijk binnen de subklasse, terwijl public leden extern toegankelijk zijn. U kunt hiermee experimenteren met behulp van de onderstaande codevoorbeeld.

main.cpp

main.cpp

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; }
Note
Opmerking

Protected leden, toegankelijk binnen afgeleide en verder afgeleide klassen, fungeren als een brug tussen private en public elementen.

Constructors en destructors worden automatisch aangeroepen voor objecten van afgeleide klassen, wat zorgt voor correcte initialisatie en opruiming van resources. Om deze elementen van de basisklasse direct te benaderen, moeten constructors en destructors als public worden gedeclareerd.

question mark

Wat bepaalt hoe leden van een basisklasse toegankelijk zijn voor een afgeleide klasse?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 4. Hoofdstuk 2
some-alt