Sobes.tech
Junior — Middle

Kā var īstenot klasi, lai tās stāvoklis būtu nemainīgs pēc tās izveides?

sobes.tech AI

Atbilde no AI

Lai izveidotu nemainīgu (immutable) klasi Java, ir jāveic šādi:

  • Padarīt klasi final, lai tā nevarētu mantoēt vai mainīt tās uzvedību.
  • Visus klases laukus deklarēt kā private final.
  • Visus laukus inicializēt caur konstruktoru.
  • Neizmantot setter-metodes (metodes, kas maina laukus).
  • Ja laukiem ir maināmi objekti (piemēram, masīvi, kolekcijas), to kopijas veidot, nododot konstruktorā un atgriežot no getteriem.

Piemērs:

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

Šāda klase, pēc objekta izveides, neļauj mainīt tās stāvokli.