Kursusindhold
C++ OOP
C++ OOP
Accessor- og Mutatormetoder
Indkapsling indebærer også at begrænse direkte adgang til nogle af et objekts komponenter, hvilket er der, hvor accessor- og mutatorfunktioner kommer i spil. Accessor- og mutatorfunktioner, mere almindeligt kendt som gettere og settere, er public
-metoder, der giver kontrolleret adgang til en klasses private
datamedlemmer.
Accessor-funktioner (gettere) er funktioner, der tillader aflæsning af værdierne for private datamedlemmer uden at ændre dem. De er afgørende for at opnå objektets tilstand, samtidig med at datamedlemmerne forbliver skjulte og beskyttede.
getter.h
class Example { public: int get_member() { return member; } private: int member; };
Mutator-funktioner (Settere) er funktioner, der muliggør ændring af private datamedlemmers værdier. De giver en kontrolleret måde at ændre et objekts tilstand på. Ved at bruge settere er det muligt at implementere valideringslogik for at sikre, at kun gyldige data tildeles datamedlemmerne.
setter.h
class Example { public: void set_member(int value) { member = value; } private: int member; };
Den primære funktion for getters og setters er at styre adgangen til en klasses medlemmer og dermed minimere sandsynligheden for fejl forårsaget af direkte manipulation. For eksempel gør de det muligt at begrænse tildelingen af alt for store værdier til visse egenskaber. Du kan begrænse effekten af varmeapparatet til værdien 10
; du kan ikke sætte den højere end 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(); }
Tak for dine kommentarer!