Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Pääsynmuokkaajien Avainsanat | Kapseloinnin 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ääsynmuokkaajien Avainsanat

Kapselointi saavutetaan pääasiassa käyttämällä näkyvyysmääreitä. Nämä määreet säätelevät, kuinka laajasti ohjelman muut osat voivat käyttää luokan jäseniä (sekä tietoja että funktioita). Kolme pääasiallista näkyvyysmäärettä ovat:

  • private: saatavilla vain saman luokan sisällä ja piilotettu luokan ulkopuolelta. Tämä on luokan jäsenten oletusnäkyvyys;

  • protected: saatavilla luokan ja sen perivien luokkien sisällä. Nämä jäsenet ovat laajemmin saatavilla kuin private-jäsenet, mutta tarjoavat silti tietosuojan tason;

  • public: saatavilla mistä tahansa ohjelman osasta. Vaikka public-jäsenet eivät ole kapseloituja, ne ovat olennaisia määriteltäessä rajapintaa, jonka luokka tarjoaa ulkoisille toimijoille.

Note
Huomio

Näkyvyysmääre pysyy voimassa, kunnes toinen määre määritellään tai kohdataan.

main.cpp

main.cpp

copy
12345678910111213
#include <iostream> class Person { public: std::string name; }; int main() { Person person; person.name = "Bob"; std::cout << person.name; }
Note
Huomio

Yritä poistaa tai muuttaa public-avainsanaa ja katso, mitä tapahtuu.

Samoin kuin kuljettaja voi käyttää autoa ymmärtämättä sen sisäistä rakennetta, käyttäjien ja ohjelmoijien ei tarvitse olla huolissaan luokan private-attribuuteista ja -metodeista. Noudata näitä sääntöjä:

  • Pidä tietojäsenet private- tai protected-määriteltyinä;

  • Tarjoa public-metodit private-datan käsittelyyn ja muokkaamiseen;

  • Varmista, että nämä metodit tekevät vain sen, mihin ne on tarkoitettu, paljastamatta sisäistä logiikkaa.

Hyvin kapseloitu class paljastaa vain sen, mikä on käyttäjälle tarpeellista, ja piilottaa sisäisen tilan sekä toteutuksen yksityiskohdat.

question mark

Mitä tapahtuu, jos yrität käyttää luokan yksityistä jäsentä suoraan luokan ulkopuolelta?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. 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ääsynmuokkaajien Avainsanat

Kapselointi saavutetaan pääasiassa käyttämällä näkyvyysmääreitä. Nämä määreet säätelevät, kuinka laajasti ohjelman muut osat voivat käyttää luokan jäseniä (sekä tietoja että funktioita). Kolme pääasiallista näkyvyysmäärettä ovat:

  • private: saatavilla vain saman luokan sisällä ja piilotettu luokan ulkopuolelta. Tämä on luokan jäsenten oletusnäkyvyys;

  • protected: saatavilla luokan ja sen perivien luokkien sisällä. Nämä jäsenet ovat laajemmin saatavilla kuin private-jäsenet, mutta tarjoavat silti tietosuojan tason;

  • public: saatavilla mistä tahansa ohjelman osasta. Vaikka public-jäsenet eivät ole kapseloituja, ne ovat olennaisia määriteltäessä rajapintaa, jonka luokka tarjoaa ulkoisille toimijoille.

Note
Huomio

Näkyvyysmääre pysyy voimassa, kunnes toinen määre määritellään tai kohdataan.

main.cpp

main.cpp

copy
12345678910111213
#include <iostream> class Person { public: std::string name; }; int main() { Person person; person.name = "Bob"; std::cout << person.name; }
Note
Huomio

Yritä poistaa tai muuttaa public-avainsanaa ja katso, mitä tapahtuu.

Samoin kuin kuljettaja voi käyttää autoa ymmärtämättä sen sisäistä rakennetta, käyttäjien ja ohjelmoijien ei tarvitse olla huolissaan luokan private-attribuuteista ja -metodeista. Noudata näitä sääntöjä:

  • Pidä tietojäsenet private- tai protected-määriteltyinä;

  • Tarjoa public-metodit private-datan käsittelyyn ja muokkaamiseen;

  • Varmista, että nämä metodit tekevät vain sen, mihin ne on tarkoitettu, paljastamatta sisäistä logiikkaa.

Hyvin kapseloitu class paljastaa vain sen, mikä on käyttäjälle tarpeellista, ja piilottaa sisäisen tilan sekä toteutuksen yksityiskohdat.

question mark

Mitä tapahtuu, jos yrität käyttää luokan yksityistä jäsentä suoraan luokan ulkopuolelta?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 2
some-alt