Sobes.tech
Junior — Middle

¿Qué métodos se pueden usar para implementar inmutabilidad en las clases en programación?

sobes.tech AI

Respuesta de la IA

Для реализации неизменяемых (immutable) классов в Java обычно применяют следующие методы:

  1. Объявить класс как final, чтобы предотвратить наследование и изменение поведения.
  2. Сделать все поля private и final, чтобы их нельзя было изменить после инициализации.
  3. Не предоставлять сеттеры (методы для изменения полей).
  4. Инициализировать все поля через конструктор.
  5. Если поля содержат ссылки на изменяемые объекты, создавать их копии при передаче в конструктор и при возврате из геттеров (защита от внешних изменений).

Пример:

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;
    }
}

Такой класс после создания объекта не позволяет изменить его состояние.