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:
- Deklarējiet klasi kā
final— lai nevarētu izveidot apakšklasi, kas mainītu uzvedību. - Visus laukus padariet kā
privateunfinal— lai tie pēc inicializācijas nevarētu tikt mainīti. - Nenodrošiniet setter-metodes (metodes, kas maina laukus).
- Inicializējiet visus laukus caur konstruktoru.
- 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.