Sobes.tech
Junior — Middle

Hogyan valósítható meg egy tulajdonság alapértelmezett viselkedése egy osztályban?

sobes.tech MI

Válasz az MI-től

Android (Java/Kotlin) esetén egy osztályban egy tulajdonság alapértelmezett viselkedését getterek és setterek segítségével lehet megvalósítani. Ez lehetővé teszi a hozzáférés kontrollálását a mezőhöz, és szükség esetén további logika hozzáadását az érték olvasásakor vagy írásakor.

Kotlin példában a standard getterek és setterek használatával:

class User {
    var name: String = ""
        get() = field.toUpperCase()  // olvasáskor a nevet nagybetűkkel adja vissza
        set(value) {
            field = value.trim()       // íráskor levágja a szóközöket
        }
}

Itt a field egy speciális mező, amely tárolja a tulajdonság értékét. Ha nem írjuk felül a gettereket és settereket, akkor a viselkedés standard lesz — egyszerű olvasás és írás.

Java-ban általában privát mezőt és nyilvános get/set metódusokat hoznak létre:

public class User {
    private String name;

    public String getName() {
        return name;
    }

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

Így a tulajdonság alapértelmezett viselkedése a mező kapszulázása hozzáférési módszerekkel.