Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Aksessorit ja Mutaattorit | 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
Aksessorit ja Mutaattorit

Kapselointi tarkoittaa myös suoran pääsyn rajoittamista olion joihinkin osiin, jolloin käyttöön tulevat accessor- ja mutator-funktiot. Accessor- ja mutator-funktiot, jotka tunnetaan yleisemmin nimillä getterit ja setterit, ovat public-menetelmiä, jotka tarjoavat hallitun pääsyn luokan private-datan jäseniin.

Accessor-funktiot (getterit) ovat funktioita, jotka mahdollistavat private-datamuuttujien arvojen lukemisen ilman niiden muuttamista. Ne ovat tärkeitä olion tilan selvittämisessä samalla kun datamuuttujat pysyvät piilotettuina ja suojattuina.

getter.h

getter.h

copy
123456
class Example { public: int get_member() { return member; } private: int member; };

Muuttajafunktiot (setterit) ovat funktioita, joiden avulla voidaan muokata yksityisten tietojäsenten arvoja. Ne tarjoavat hallitun tavan muuttaa olion tilaa. Settereiden avulla voidaan toteuttaa validointilogiikkaa, jolla varmistetaan, että tietojäsenille asetetaan vain kelvollisia arvoja.

setter.h

setter.h

copy
123456
class Example { public: void set_member(int value) { member = value; } private: int member; };

Getterien ja setterien ensisijainen tehtävä on hallita pääsyä luokan jäseniin ja siten minimoida virheiden mahdollisuus, joka johtuu suorasta manipuloinnista. Esimerkiksi niiden avulla voidaan rajoittaa liian suurten arvojen asettamista tietyille ominaisuuksille. Voit rajoittaa lämmittimen tehon arvoon 10, et voi asettaa sitä tätä suuremmaksi.

main.cpp

main.cpp

copy
12345678910111213141516
#include <iostream> class Heater { public: void setPower(int value) { power = value > 10 ? 10: value; } int getPower() { return power; } private: int power; }; int main() { Heater heater; heater.setPower(7); std::cout << heater.getPower(); }
question mark

Mikä vaihtoehtoinen nimi on yleisesti käytössä muuttajamenetelmille ohjelmoinnissa?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 4

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
Aksessorit ja Mutaattorit

Kapselointi tarkoittaa myös suoran pääsyn rajoittamista olion joihinkin osiin, jolloin käyttöön tulevat accessor- ja mutator-funktiot. Accessor- ja mutator-funktiot, jotka tunnetaan yleisemmin nimillä getterit ja setterit, ovat public-menetelmiä, jotka tarjoavat hallitun pääsyn luokan private-datan jäseniin.

Accessor-funktiot (getterit) ovat funktioita, jotka mahdollistavat private-datamuuttujien arvojen lukemisen ilman niiden muuttamista. Ne ovat tärkeitä olion tilan selvittämisessä samalla kun datamuuttujat pysyvät piilotettuina ja suojattuina.

getter.h

getter.h

copy
123456
class Example { public: int get_member() { return member; } private: int member; };

Muuttajafunktiot (setterit) ovat funktioita, joiden avulla voidaan muokata yksityisten tietojäsenten arvoja. Ne tarjoavat hallitun tavan muuttaa olion tilaa. Settereiden avulla voidaan toteuttaa validointilogiikkaa, jolla varmistetaan, että tietojäsenille asetetaan vain kelvollisia arvoja.

setter.h

setter.h

copy
123456
class Example { public: void set_member(int value) { member = value; } private: int member; };

Getterien ja setterien ensisijainen tehtävä on hallita pääsyä luokan jäseniin ja siten minimoida virheiden mahdollisuus, joka johtuu suorasta manipuloinnista. Esimerkiksi niiden avulla voidaan rajoittaa liian suurten arvojen asettamista tietyille ominaisuuksille. Voit rajoittaa lämmittimen tehon arvoon 10, et voi asettaa sitä tätä suuremmaksi.

main.cpp

main.cpp

copy
12345678910111213141516
#include <iostream> class Heater { public: void setPower(int value) { power = value > 10 ? 10: value; } int getPower() { return power; } private: int power; }; int main() { Heater heater; heater.setPower(7); std::cout << heater.getPower(); }
question mark

Mikä vaihtoehtoinen nimi on yleisesti käytössä muuttajamenetelmille ohjelmoinnissa?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 4
some-alt