Sobes.tech
Junior — Middle

Ce principii trebuie utilizate la crearea unei clase în Java pentru a o face imuabilă?

sobes.tech AI

Răspuns de la AI

Pentru a face o clasă în Java imuabilă, trebuie respectate câteva principii:

  1. Declarați clasa ca final — pentru a nu putea fi creată o subclasă care să modifice comportamentul.
  2. Faceți toate câmpurile private și final — pentru a nu putea fi modificate după inițializare.
  3. Nu furnizați setter-uri (metode pentru modificarea câmpurilor).
  4. Inițializați toate câmpurile prin constructor.
  5. Dacă câmpurile sunt referințe la obiecte modificabile (de exemplu, array-uri, colecții), creați copii ale acestora la atribuire și la returnarea din getters, pentru ca modificările externe să nu afecteze starea internă.

Exemplu:

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

O astfel de clasă, după crearea obiectului, nu permite schimbarea stării sale, ceea ce este util pentru siguranța thread-urilor și previzibilitatea comportamentului.