Junior — Middle
Quais métodos podem ser usados para implementar imutabilidade em classes na programação?
sobes.tech IA
Resposta da IA
Para implementar classes imutáveis em Java, geralmente utilizam-se os seguintes métodos:
- Declarar a classe como
finalpara evitar herança e alterações de comportamento. - Tornar todos os campos
privateefinalpara que não possam ser alterados após a inicialização. - Não fornecer setters (métodos para alterar os campos).
- Inicializar todos os campos através do construtor.
- Se os campos contiverem referências a objetos modificáveis, criar cópias deles ao passá-los para o construtor e ao retorná-los dos getters (proteção contra alterações externas).
Exemplo:
public final class ImmutablePerson {
private final String name;
private final int age;
public ImmutablePerson(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
Este tipo de classe, após criar o objeto, não permite alterar seu estado.