Junior — Middle
Kas on võimalik määratleda pärilust andmeklass ja teise klassi vahel?
sobes.tech AI
Vastus AI-lt
Kotlinis võib andmeklass (data class) pärida teiselt klassilt, kui see ei ole final (st. avatud pärimiseks). Kuid andmeklass pärib automaatselt Any-lt ja peab omama vähemalt ühte parameetrit konstruktoris.
Oluline:
- Andmeklass ei või olla
openvõiabstract. - Pärimine andmeklassist on võimalik, kuid ise andmeklass ei saa olla vanemklass (st. ei saa pärida
data class-ist).
Näide:
open class Person(val name: String)
data class Employee(val id: Int, val person: Person) : Person(person.name)
Seega on võimalik pärida andmeklass ja teist klassi vahel, kuid piirangutega, ning sageli kasutatakse kompositsiooni (objektide sisestamist) pärimise asemel andmeklasside puhul.