Junior — Middle
Маалыматтар классы менен башка класс арасындагы мурасын аныктоого болобу?
sobes.tech AI
AIден жооп
Kotlinде, маалымат классы (data class) башка классынан мурас алса болот, эгер ал final эмес болсо (демек, мураска ачык). Бирок, маалымат классы автоматтык түрдө Any классынан мурас алат жана конструкторунда кеминде бир параметр болушу керек.
Маанилүү:
- Маалымат классы
openжеabstractболо албайт. - Маалымат классыдан мурас алуу мүмкүн, бирок өзү
data classмурас клас болуп кете албайт (демек,data classтан мурас алуу мүмкүн эмес).
Мисал:
open class Person(val name: String)
data class Employee(val id: Int, val person: Person) : Person(person.name)
Ошентип, data class менен башка класс ортосунда мурас алуу мүмкүн, бирок чектөөлөр менен, жана көбүнчө композиция (объекттерди кошуу) мураска караганда артыкчылыкка ээ болот.