vejam o exemplo:
public class MinhaClasse {
public int idade;
}
public class MinhaClasse {
private int idade;
public void setIdade(int novaIdade) {
// faço as validações necessarias e altero o campo nome se quiser..
}
public int getIdade() {
return idade;
}
}
ae, fica beleza, nao é? assim eu tenho a possibilidade de garantir a consistencia do campo nome...
mas se fosse com um objeto:
public class MinhaClasse {
private MinhaClasse2 outraClasse;
public MinhaClasse2 getOutraClasse() {
return outraClasse;
}
}
eu nao posso acessar diretamente outraClasse, mas posso acessa-la através do seu getter, e alterar seu valor livremente, produzindo possiveis valores inconsistentes para esse atributo...
que sugestão vcs me dão para contornar esse problema? se nao me engano(avisem se eu estiver falando merda..), parece q há classes que permitem que se crie um clone dela..... o objeto clonado terá os mesmos valores que o objeto original, mas será localizado em outra posição da memoria, podendo então o clone ser alterado sem que o objeto original sofra qualquer alteração... mas é toda classe que possui tal funcionalidade?
[color="red"]Colocado BBCode code ! Por favor tome cuidado com isso![/color]