Set e Get para os campos  XML
Índice dos Fóruns » Arquitetura de Sistemas
Autor Mensagem
hugleo
Thread.start()

Membro desde: 16/02/2007 20:21:19
Mensagens: 29
Offline

Em um Set ou Get é sempre melhor dar sets e gets em todos os campos ou há alguns casos em que é preperível dar sets em uma estrutura que seria coleção de váriso dados?
thiagolopes
Debugger
[Avatar]

Membro desde: 30/03/2008 23:52:58
Mensagens: 73
Localização: recife-PE
Offline

Eu recomendo que você utilize o Set para fazer com que as variávies com metodo de acesso private, visto que o mesmo é utilizado para "tirar o encapsulamento" sendo chamada por outros objetos.

....

private int num1;
//Se voce nao cirar um método de acesso public com o set esta variável irá morrer aqui.

public void setTirarEncapsulamento(int num2){

this.num1 = num2;
//O que eu fiz foi inicializar o valor num1 atraves da passagem por parametro
}

public int getVoltarNumero(){
return num1;
//Este método fara com que outros objetos consigam ver esta variável local
}

.....

Na outra classa

.....

Voce primeiro tera que criar um objeto desta classe
....
int b;

ex: primeiraClasse passagem = new primeiraClasse();

passagem.setTirarEncapsulamento(b);
passagem.getVoltarNumero();

....

O homem é mortal por seus temores e imortal por seus desejos(Pitágoras)
nicholas.bittencourt
JavaTeenager
[Avatar]

Membro desde: 17/01/2007 00:17:42
Mensagens: 161
Localização: Niterói, RJ, Brasil
Offline

hugleo wrote:Em um Set ou Get é sempre melhor dar sets e gets em todos os campos ou há alguns casos em que é preperível dar sets em uma estrutura que seria coleção de váriso dados?


Acho que depende muito da sua logica... Se voce permita o desenvolvedor acessar diretamente a sua coleção, ele pode adicionar um objeto sem que o seu controle seja realizado. O encapsulamento está todo quebrado nesse caso.

Um exemplo é uma associadao entre Turma e Aula. Uma Turma tem várias aulas associadas a ela. E uma Aula só pode ser associada a uma Turma. Imagine o codigo abaixo:



Voce possui a mesma Aula em duas Turmas distintas. Se voce fizesse um metodo



Isso poderia ser evitado por a validacao de que aquela aula estaria associada a outra Turma estaria garantida.


--
Nicholas Dacal A. Bittencourt
http://goronah.blog.br

We also realized that solving everyone?s problems was too big of a challenge for the first release. It would be better to build a product that a lot of people love, than one that everyone tolerates (...) - Paul Buchheit, Gmail Engineer
[WWW] [MSN]
zinho
Debugger
[Avatar]

Membro desde: 01/08/2007 20:40:04
Mensagens: 69
Offline

Só adicione um método ou o que quer que seja, se isso lhe parecer realmente necessário.
Se vc, em lugar nenhum da sua aplicação precisar recuperar determinada informação, então vc não precisa de um get para ela.
Dá uma lida nesse ótimo post do Paulo:
http://blog.caelum.com.br/2006/09/14/nao-aprender-oo-getters-e-setters/

Rafael Castro de Carvalho
[WWW] [MSN] [ICQ]
 
Índice dos Fóruns » Arquitetura de Sistemas
Ir para:   
Powered by JForum 2.1.8 © JForum Team