Contenuti del Corso
OOP in C++
OOP in C++
Metodi Accessor e Mutator
L'incapsulamento implica anche la restrizione dell'accesso diretto ad alcuni componenti di un oggetto, ed è qui che entrano in gioco le funzioni accessor e mutator. Le funzioni accessor e mutator, più comunemente note come getter e setter, sono metodi public
che forniscono un accesso controllato ai membri dati private
di una classe.
Le funzioni accessor (getter) sono funzioni che permettono di leggere i valori dei membri dati privati senza modificarli. Sono fondamentali per ottenere lo stato di un oggetto mantenendo i membri dati nascosti e protetti.
getter.h
class Example { public: int get_member() { return member; } private: int member; };
Funzioni Mutatorie (Setters) sono funzioni che permettono la modifica dei valori dei membri dati privati. Offrono un modo controllato per cambiare lo stato di un oggetto. Utilizzando i setters, è possibile implementare logiche di validazione per garantire che solo dati validi vengano assegnati ai membri dati.
setter.h
class Example { public: void set_member(int value) { member = value; } private: int member; };
La funzione principale dei getters e setters è gestire l'accesso ai membri di una classe, riducendo così la probabilità di errori causati dalla manipolazione diretta. Ad esempio, consentono di limitare l'assegnazione di valori eccessivamente grandi a determinate proprietà. È possibile limitare la potenza del riscaldatore al valore 10
; non è possibile impostarla oltre tale valore.
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(); }
Grazie per i tuoi commenti!