Junior — Middle
Мо метавонед шарҳ диҳед, ки чӣ гуна синфи бетағйир дар Java аст ва чӣ гуна сохта мешавад?
sobes.tech AI
Ҷавоб аз AI
Дарсҳои тағйирнопазири Java — ин синфҳое мебошанд, ки объектҳои онҳо пас аз сохтани онҳо тағйир дода намешаванд. Ин синфҳо барои таъмин намудани бехатарии маълумот ва бисёрсоҳавӣ муфиданд.
Барои сохтани синфи тағйирнопазир, бояд:
- Синфро
finalкунед, то ки онро мерос нагирифта ва рафторро тағйир додан мумкин набошад. - Ҳама майдонҳоро
privateваfinalкунед. - Setters (методҳо барои тағйир додани майдонҳо) пешниҳод накунед.
- Ҳама майдонҳоро тавассути конструктор оғоз кунед.
- Агар майдонҳо объектҳои тағйирёбанда бошанд, нусхаҳои онҳоро дар getters баргардонед, то тағйир додани ҳолати дохилиро пешгирӣ кунед.
Масалан:
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;
}
}