Junior — Middle
Milyen jellemzői és korlátai vannak az adatosztályoknak Kotlinban?
sobes.tech MI
Válasz az MI-től
A Kotlin adat osztályok (data class) adat tárolására szolgálnak, és automatikusan hasznos metódusokat biztosítanak: equals(), hashCode(), toString(), copy() és destrukturálási funkciók.
Jellemzők és korlátozások:
- Az osztálynak legalább egy paramétere kell, hogy legyen a konstruktorban.
- A
primary constructor-ban deklarált összes paraméter automatikusan tulajdonsággá válik. - Az osztály nem lehet absztrakt, nyitott, belső vagy más osztályoktól öröklődő (de interfészeket megvalósíthat).
- A fordító csak a konstruktorban deklarált tulajdonságokra generál metódusokat, nem további tulajdonságokra.
- A generált metódusokat felülírhatja, ha meg akarja változtatni a viselkedést.
Példa:
data class User(val name: String, val age: Int)
val user1 = User("Alice", 30)
val user2 = user1.copy(age = 31) // új objektumot hoz létre a módosított életkornál
println(user1) // User(name=Alice, age=30)