Sobes.tech
Junior — Middle

Quali metodi possono essere utilizzati per implementare l'immutabilità delle classi in programmazione?

sobes.tech AI

Risposta dell'AI

Для реализации неизменяемых (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;
    }
}

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