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.