Public / protected / private

2 respostas
K

Muita gente já postou aqui sobre a diferença entre public, protected e private.
Mas eu ainda nao percebi as vantagens em usá-las. Ou seja, onde é vantajoso para mim que certa classe nao tenha acesso direto aos atributos/metodos de uma outra classe? Ou entao, qual a vantagem em se definir metodos setters/getters para acessar atributos de uma classe a partir de outra? Deu pra enteder?

Pra que serve protected, private e public eu entendo. Mas ainda nao me deparei com uma situacao em isso faça sentido.

2 Respostas

W

quando vc declara suas variaveis private e usa os metodos getter/setters vc tah usando encapsulamento.

Olha soh, vamos supor q vc tenha um atributo altura, e qq pode alterar o valor desse atributo, imagina se alguem atribui o valor -1 ao atributo altura, nao existe altura -1.
Quando vc cria um metodo setAltura(double altura), vc pode verificar qual o valor q esta sendo atribuido ao atributo altura se for um valor valido vc faz a atribuicao senao vc trata o erro…

espero ter ajudado… :wink:

K

Este seu exemplo foi legal. Até pq eu tenho isso no meu código, essa verificacao no metodo set.

Mas mesmo assim nao sanei minha dúvida. Veja, nesse caso, em específico, eu poderia fazer a verificacao pelo método que envia a ‘altura’ que sera atribuida ao meu atributo, estou certo?

Criado 1 de junho de 2006
Ultima resposta 1 de jun. de 2006
Respostas 2
Participantes 2