Conteúdo do Curso
C++ Poo
C++ Poo
Métodos Acessores e Mutadores
A encapsulação também envolve restringir o acesso direto a alguns componentes de um objeto, e é nesse contexto que as funções acessoras e mutadoras entram em cena. Funções acessoras e mutadoras, mais conhecidas como getters e setters, são métodos public
que fornecem acesso controlado aos membros de dados private
de uma classe.
Funções Acessoras (Getters) são funções que permitem a leitura dos valores dos membros de dados privados sem modificá-los. São essenciais para obter o estado de um objeto mantendo os membros de dados ocultos e protegidos.
getter.h
class Example { public: int get_member() { return member; } private: int member; };
Funções Mutadoras (Setters) são funções que permitem a modificação dos valores dos membros de dados privados. Elas fornecem uma maneira controlada de alterar o estado de um objeto. Ao utilizar setters, é possível implementar lógica de validação para garantir que apenas dados válidos sejam atribuídos aos membros de dados.
setter.h
class Example { public: void set_member(int value) { member = value; } private: int member; };
A principal função dos getters e setters é gerenciar o acesso aos membros de uma classe, minimizando assim a probabilidade de erros causados por manipulação direta. Por exemplo, eles permitem restringir a atribuição de valores excessivamente altos a determinadas propriedades. É possível limitar a potência do aquecedor ao valor 10
; não é possível definir um valor superior a esse.
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(); }
Obrigado pelo seu feedback!