Sobes.tech
Junior — Middle

Jak lze implementovat standardní chování vlastnosti ve třídě?

sobes.tech AI

Odpověď od AI

V Androidu (Java/Kotlin) lze výchozí chování vlastnosti ve třídě implementovat pomocí getterů a setterů. To umožňuje kontrolovat přístup k poli a v případě potřeby přidat další logiku při čtení nebo zápisu hodnoty.

Příklad v Kotlinu s použitím standardních getterů a setterů:

class User {
    var name: String = ""
        get() = field.toUpperCase()  // při čtení vrací jméno velkými písmeny
        set(value) {
            field = value.trim()       // při zápisu odstraňuje mezery
        }
}

Zde je `field speciální pole, které uchovává hodnotu vlastnosti. Pokud getter a setter nepřepíšeme, chování bude standardní — jednoduché čtení a zápis.

V Javě se obvykle vytváří soukromé pole a veřejné metody get/set:

public class User {
    private String name;

    public String getName() {
        return name;
    }

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

Takové chování vlastnosti je enkapsulace pole pomocí přístupových metod.