Sobes.tech
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;
    }
}