Sobes.tech
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:

  1. Declarar a classe como final para evitar herança e alterações de comportamento.
  2. Tornar todos os campos private e final para que não possam ser alterados após a inicialização.
  3. Não fornecer setters (métodos para alterar os campos).
  4. Inicializar todos os campos através do construtor.
  5. 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.