Junior — Middle
Javaда класс түзүүдө аны өзгөртпөстөн калдыру үчүн кайсы принциптерди колдонуу керек?
sobes.tech AI
AIден жооп
Javaда классды immutable (өзгөртүлбөс) кылуу үчүн, бир нече принципти сактоо керек:
- Классды
finalдеп жарыялоо — анткени анын муундары түзүлбөйт жана жүрүм-турумду өзгөртүүгө мүмкүнчүлүк бербейт. - Бардык талааларды
privateжанаfinalкылуу — анткени алар инициализациядан кийин өзгөртүлбөйт. - Setters (талдарды өзгөртүүчү методдор) камсыз кылбоо.
- Бардык талааларды конструктор аркылуу инициализациялоо.
- Эгер талаалар өзгөрүлмө объекттерге шилтемелер болсо (мисалы, массивдер, коллекциялар), аларды берүү жана кайтарууда көчүрмөлөрүн түзүү, сырттан жасалган өзгөртүүлөр ички абалды таасир этпесин.
Мисал:
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;
}
}
Мындай класс, объект түзүлгөндөн кийин, анын абалын өзгөртүүгө мүмкүнчүлүк бербейт, бул көптөгөн учурларда, мисалы, жиптердин коопсуздугу жана жүрүм-турумдун алдын ала билүү үчүн пайдалуу.