Sobes.tech
Junior — Middle

Kaip galima įgyvendinti savybės standartinį elgesį klasėje?

sobes.tech AI

Atsakymas iš AI

Android (Java/Kotlin) klasėje standartinis savybės elgesys gali būti įgyvendintas naudojant getterius ir setterius. Tai leidžia kontroliuoti prieigą prie lauko ir, jei reikia, pridėti papildomą logiką skaitant ar rašant reikšmę.

Pavyzdys Kotlin kalba naudojant standartinius getterius ir setterius:

class User {
    var name: String = ""
        get() = field.toUpperCase()  // skaitant grąžina vardą didžiosiomis raidėmis
        set(value) {
            field = value.trim()       // rašant pašalina tarpus
        }
}

Čia field yra specialus laukas, saugantis savybės reikšmę. Jei nepakeisime getterių ir setterių, elgsena bus standartinė — paprastas skaitymas ir rašymas.

Java dažniausiai kuriama privačia lauku ir viešomis get/set metodais:

public class User {
    private String name;

    public String getName() {
        return name;
    }

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

Taip, standartinis savybės elgesys yra lauko inkapsuliacija naudojant prieigos metodus.