Junior — Middle
Կարող եք բացատրել, թե ինչ է անփոփոխ դասը Java-ում և ինչպես է այն ստեղծվում:
sobes.tech AI
Պատասխան AI-ից
Java-յում անփոփոխ դասը այն դասն է, որի օբյեկտները ստեղծելուց հետո չեն կարող փոխվել: Այսպիսի դասերը օգտակար են տվյալների անվտանգության և բազմամյա աշխատանքների ապահովման համար:
Անփոփոխ դաս ստեղծելու համար անհրաժեշտ է՝
- Դասը
finalդարձնել, որպեսզի այն ժառանգել հնարավոր չլինի և նրա վարքագիծը փոխել հնարավոր չլինի: - Բոլոր դաշտերը
privateևfinalդարձնել: - Setters (դաշտերը փոխելու մեթոդներ) չտրամադրել:
- Բոլոր դաշտերը սկզբնավորել կոնստրուկտորով:
- Եթե դաշտերը փոփոխական օբյեկտներ են, ապա getter-ներում նրանց պատճենները վերադարձնել՝ ներսի վիճակը փոխելուց խուսափելու համար:
Օրինակ՝
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;
}
}