3
respostas

Exercício __set

Como eu nao tinha um metodo de "alteraPropriedadeX" eu só alterei mesmo dentro do Set.

    public function __set (string $nomeAtributo, $value) {

            $this->$nomeAtributo = $value;

     }
3 respostas

Olá Valmir,

O método set é utilizado para definir o valor de um atributo que não está acessível diretamente, ou seja, quando não existe um método específico para alterar esse atributo.

No seu exemplo, você utilizou o método set para definir o valor de um atributo. Isso é correto, mas é importante lembrar que esse método deve ser utilizado com cuidado, pois permite a alteração de qualquer atributo da classe, mesmo aqueles que não deveriam ser alterados.

Uma alternativa seria criar métodos específicos para alterar cada atributo, como você mencionou. Dessa forma, você teria um controle maior sobre quais atributos podem ser alterados e como eles podem ser alterados.

Bons estudos!

Entendi, então seria uma melhor prática ter feito um método "alteraPropriedadeX", só para as que eu quero poder alterar, para não ter um risco.

Exatamente. :)