Sobes.tech
Junior — Middle

Məlumatlar sinfi ilə başqa bir sinf arasında irsiyyət müəyyən edilə bilərmi?

sobes.tech Süni İntellekt

AI-dan cavab

Kotlin-də, məlumat sinfi (data class) final olmayan başqa bir sinifdən irs ala bilər (yəni, irs üçün açıqdır). Ancaq, məlumat sinfi avtomatik olaraq Any-dən irs alır və ən azı bir parametrə malik olmalıdır.

Vacib:

  • Məlumat sinfi open və ya abstract ola bilməz.
  • Məlumat sinfindən irs almaq mümkündür, amma məlumat sinfi özü valideyn sinif ola bilməz (yəni, data class-dan irs almaq mümkün deyil).

Nümunə:

open class Person(val name: String)

data class Employee(val id: Int, val person: Person) : Person(person.name)

Beləliklə, məlumat sinfi və başqa sinif arasında irs alma mümkündür, lakin məhdudiyyətlərlə, və adətən, məlumat sinfləri üçün irs əvəzinə obyektlərin daxil edilməsi (kompozisiya) istifadə olunur.