Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Pääsyn Määrittäjät Periytymisessä | Perinnän Yleiskatsaus
C++ OOP
course content

Kurssisisältö

C++ OOP

C++ OOP

1. C++:n OOP:n Perusteet
2. Konstruktorit ja Destruktorit
3. Kapseloinnin Yleiskatsaus
4. Perinnän Yleiskatsaus
5. Polymorfismin Yleiskatsaus

book
Pääsyn Määrittäjät Periytymisessä

Pääsyn määrittäjät ovat keskeisessä roolissa olio-ohjelmoinnissa, erityisesti periytymisessä. Ne määrittävät, miten kantaluokan jäsenet (attribuutit ja metodit) ovat johdettujen luokkien käytettävissä. Näiden määrittäjien ymmärtäminen on olennaista tehokkaiden luokkien suunnittelussa sekä tietojen kapseloinnin ja eheyden ylläpitämisessä.

Periytymisen pääsymuodot

Luokka voidaan johtaa toisesta luokasta. Johdettu luokka perii jäsenet kantaluokasta, mutta näiden perittyjen jäsenten saavutettavuus riippuu sekä kantaluokan käyttämästä pääsyn määrittäjästä että periytymisen tyypistä.

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

Pääsynhallinta ja perinnän yhteenveto

Oliopohjaisessa perinnässä kantaluokan private-jäsenet eivät ole johdettujen luokkien käytettävissä, mikä suojaa niitä muokkaukselta tai haulta. Protected-jäsenet ovat käytettävissä vain aliluokassa, kun taas public-jäsenet ovat käytettävissä ulkoisesti. Voit kokeilla tätä alla olevalla koodiesimerkillä.

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
Huomio

Protected-jäsenet, jotka ovat käytettävissä johdetuissa ja edelleen johdetuissa luokissa, toimivat siltana private- ja public-elementtien välillä.

Konstruktoreita ja destruktoreita kutsutaan automaattisesti johdetuille luokkaolioille, mikä varmistaa resurssien oikean alustuksen ja vapautuksen. Näihin kantaluokan elementteihin pääsee suoraan käsiksi vain, jos konstruktorit ja destruktorit on määritelty public-nä.

question mark

Mikä määrittää, miten johdettu luokka voi käyttää kantaluokan jäseniä?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 2

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

course content

Kurssisisältö

C++ OOP

C++ OOP

1. C++:n OOP:n Perusteet
2. Konstruktorit ja Destruktorit
3. Kapseloinnin Yleiskatsaus
4. Perinnän Yleiskatsaus
5. Polymorfismin Yleiskatsaus

book
Pääsyn Määrittäjät Periytymisessä

Pääsyn määrittäjät ovat keskeisessä roolissa olio-ohjelmoinnissa, erityisesti periytymisessä. Ne määrittävät, miten kantaluokan jäsenet (attribuutit ja metodit) ovat johdettujen luokkien käytettävissä. Näiden määrittäjien ymmärtäminen on olennaista tehokkaiden luokkien suunnittelussa sekä tietojen kapseloinnin ja eheyden ylläpitämisessä.

Periytymisen pääsymuodot

Luokka voidaan johtaa toisesta luokasta. Johdettu luokka perii jäsenet kantaluokasta, mutta näiden perittyjen jäsenten saavutettavuus riippuu sekä kantaluokan käyttämästä pääsyn määrittäjästä että periytymisen tyypistä.

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

Pääsynhallinta ja perinnän yhteenveto

Oliopohjaisessa perinnässä kantaluokan private-jäsenet eivät ole johdettujen luokkien käytettävissä, mikä suojaa niitä muokkaukselta tai haulta. Protected-jäsenet ovat käytettävissä vain aliluokassa, kun taas public-jäsenet ovat käytettävissä ulkoisesti. Voit kokeilla tätä alla olevalla koodiesimerkillä.

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
Huomio

Protected-jäsenet, jotka ovat käytettävissä johdetuissa ja edelleen johdetuissa luokissa, toimivat siltana private- ja public-elementtien välillä.

Konstruktoreita ja destruktoreita kutsutaan automaattisesti johdetuille luokkaolioille, mikä varmistaa resurssien oikean alustuksen ja vapautuksen. Näihin kantaluokan elementteihin pääsee suoraan käsiksi vain, jos konstruktorit ja destruktorit on määritelty public-nä.

question mark

Mikä määrittää, miten johdettu luokka voi käyttää kantaluokan jäseniä?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 2
some-alt