Kurssisisältö
C++ OOP
C++ OOP
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
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
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
#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(); }
Kiitos palautteestasi!