Junior — Middle
Java-da sinif yaratarkən onu dəyişməz etmək üçün hansı prinsiplər istifadə olunmalıdır?
sobes.tech Süni İntellekt
AI-dan cavab
Java-da sinfi dəyişməz (immutable) etmək üçün bir neçə prinsipə riayət etmək lazımdır:
- Sinfi
finalkimi elan edin — beləliklə, onun davranışını dəyişdirəcək alt sinf yaradıla bilməz. - Bütün sahələri
privatevəfinaledin — beləliklə, onlar inisializasiya edildikdən sonra dəyişdirilə bilməz. - Setterlər (sahələri dəyişdirmək üçün metodlar) təmin etməyin.
- Bütün sahələri konstruktor vasitəsilə inisializasiya edin.
- Əgər sahələr dəyişdirilə bilən obyektlərin referanslarıdırsa (məsələn, massivlər, kolleksiyalar), onları təyin etdikdə və getter-lərdən qaytararkən nüsxələrini yaradın ki, xarici dəyişikliklər daxili vəziyyətə təsir etməsin.
Nümunə:
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;
}
}
Belə bir sinif, obyekt yaradıldıqdan sonra, onun vəziyyətini dəyişməyə imkan vermir, bu da iplik təhlükəsizliyi və davranışın əvvəlcədən bilinə bilməsi üçün faydalıdır.