Kursinnehåll
C++ OOP
C++ OOP
Accessor- och Mutatormetoder
Inkapsling innebär också att begränsa direkt åtkomst till vissa av ett objekts komponenter, vilket är där accessor- och mutatorfunktioner kommer in i bilden. Accessor- och mutatorfunktioner, mer allmänt kända som getters och setters, är public
-metoder som ger kontrollerad åtkomst till en klass private
datamedlemmar.
Accessorfunktioner (Getters) är funktioner som möjliggör läsning av värdena för privata datamedlemmar utan att ändra dem. De är avgörande för att erhålla tillståndet för ett objekt samtidigt som datamedlemmarna hålls dolda och skyddade.
getter.h
class Example { public: int get_member() { return member; } private: int member; };
Mutatorfunktioner (Setters) är funktioner som möjliggör modifiering av privata datamedlemmars värden. De tillhandahåller ett kontrollerat sätt att ändra ett objekts tillstånd. Genom att använda setters är det möjligt att implementera valideringslogik för att säkerställa att endast giltiga data tilldelas datamedlemmarna.
setter.h
class Example { public: void set_member(int value) { member = value; } private: int member; };
Huvudfunktionen för getters och setters är att hantera åtkomst till en klass medlemmar, vilket minimerar risken för fel orsakade av direkt manipulation. Till exempel möjliggör de att du kan begränsa tilldelningen av alltför stora värden till vissa egenskaper. Du kan begränsa effekten på värmaren till värdet 10
, du kan inte sätta det högre än så.
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(); }
Tack för dina kommentarer!