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
Quizzes & Challenges
Quizzes
Challenges
/
C++ OOP

bookAksessorit ja Mutaattorit

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

Accessor-funktiot (getterit) ovat funktioita, jotka mahdollistavat private-tietojäsenten arvojen lukemisen ilman niiden muuttamista. Ne ovat tärkeitä olion tilan selvittämisessä samalla, kun tietojäsenet 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 todennäköisyys, 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

bookAksessorit ja Mutaattorit

Pyyhkäise näyttääksesi valikon

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

Accessor-funktiot (getterit) ovat funktioita, jotka mahdollistavat private-tietojäsenten arvojen lukemisen ilman niiden muuttamista. Ne ovat tärkeitä olion tilan selvittämisessä samalla, kun tietojäsenet 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 todennäköisyys, 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