Kursinnhold
C++ OOP
C++ OOP
Aksessor- og Mutasormetoder
Innkapsling innebærer også å begrense direkte tilgang til noen av et objekts komponenter, og det er her aksessor- og mutasjonsfunksjoner kommer inn i bildet. Aksessor- og mutasjonsfunksjoner, mer kjent som gettere og settere, er public
-metoder som gir kontrollert tilgang til klassens private
datamedlemmer.
Aksessorfunksjoner (Gettere) er funksjoner som gjør det mulig å lese verdiene til private datamedlemmer uten å endre dem. De er avgjørende for å hente tilstanden til et objekt samtidig som datamedlemmene holdes skjult og beskyttet.
getter.h
class Example { public: int get_member() { return member; } private: int member; };
Mutatorfunksjoner (settere) er funksjoner som muliggjør endring av verdiene til private datamedlemmer. De gir en kontrollert måte å endre tilstanden til et objekt på. Ved å bruke settere er det mulig å implementere valideringslogikk for å sikre at kun gyldige data tilordnes datamedlemmene.
setter.h
class Example { public: void set_member(int value) { member = value; } private: int member; };
Hovedfunksjonen til gettere og settere er å håndtere tilgangen til en klasses medlemmer, og dermed minimere sannsynligheten for feil forårsaket av direkte manipulering. For eksempel gjør de det mulig å begrense tildelingen av altfor store verdier til visse egenskaper. Du kan begrense effekten til varmeapparatet med verdien 10
; du kan ikke sette den høyere enn det.
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(); }
Takk for tilbakemeldingene dine!