Sobes.tech
Junior — Middle

Kādus principus jālieto, veidojot klasi Java valodā, lai tā būtu nemainīga?

sobes.tech AI

Atbilde no AI

Lai padarītu Java klasi nemaināmu (immutable), ir jāievēro vairāki principi:

  1. Deklarējiet klasi kā final — lai nevarētu izveidot apakšklasi, kas mainītu uzvedību.
  2. Visus laukus padariet kā private un final — lai tie pēc inicializācijas nevarētu tikt mainīti.
  3. Nenodrošiniet setter-metodes (metodes, kas maina laukus).
  4. Inicializējiet visus laukus caur konstruktoru.
  5. Ja laukiem ir atsauces uz maināmiem objektiem (piemēram, masīviem, kolekcijām), izveidojiet to kopijas pie piešķiršanas un atgriešanas no getter metodēm, lai ārējās izmaiņas neietekmētu iekšējo stāvokli.

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, kas ir noderīgi daudzās situācijās, piemēram, drošības nodrošināšanai daudzvītņu vidē un paredzamības uzlabošanai.