Sobes.tech
Junior — Middle

Ինչպե՞ս կարելի է իրականացնել հատկության ստանդարտ վարքագիծը դասում։

sobes.tech AI

Պատասխան AI-ից

Android (Java/Kotlin)-ում դասի մեջ հատկության ստանդարտ վարքագիծը կարող է իրականացվել getter-ներ և setter-ներ օգտագործելով։ Սա թույլ է տալիս վերահսկել դաշտի մուտքը և անհրաժեշտության դեպքում ավելացնել լրացուցիչ տրամաբանություն արժեքը կարդալիս կամ գրելիս։

Kotlin-ով օրինակ՝ օգտագործելով ստանդարտ getter-ներ և setter-ներ՝

class User {
    var name: String = ""
        get() = field.toUpperCase()  // կարդալիս վերադարձնում է անունը մեծատառերով
        set(value) {
            field = value.trim()       // գրելիս հանում է բացատները
        }
}

Այստեղ field հատուկ դաշտ է, որը պահում է հատկության արժեքը։ Եթե getter-ներ և setter-ներ չգրենք վերև, վարքագիծը կլինի ստանդարտ՝ պարզապես կարդալ և գրել։

Java-ում սովորաբար ստեղծում են մասնավոր դաշտ և հանրային get/set մեթոդներ՝

public class User {
    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name.trim();
    }
}

Այսպիսով, հատկության ստանդարտ վարքագիծը դաշտի ինկապսուլյացիան է՝ օգտագործելով մուտքի մեթոդներ։