Sobes.tech
Junior — Middle

Kotlin бағдарламалау тілінде кәдімгі класс, деректер класы және мөрленген класс арасында қандай айырмашылықтар бар?

sobes.tech AI

AI-дан жауап

Kotlin-де әртүрлі кластар түрлері бар, олардың әрқайсысының өз ерекшеліктері бар:

  • Қалыпты класс (class) — стандартты класс, мұрагерлікке ашық (final деп жарияланбаған жағдайда), қасиеттер мен әдістерді қамтиды. equals(), hashCode(), toString() әдістерін автоматты түрде жасамайды.

  • Деректер класы (data class) — деректерді сақтау үшін арналған класс. Компилятор автоматты түрде equals(), hashCode(), toString(), сонымен қатар copy() және деструктуризация функцияларын жасайды. Мысал:

data class User(val name: String, val age: Int)
  • Жабылған класс (sealed class) — мұрагерлік иерархиясын шектейтін класс. Барлық қосымша кластар бір файлда жариялануы керек. Бұл шектеулі типтер жиынтығын көрсету үшін пайдаланылады, көбінесе when өрнектерінде толықтықты қамтамасыз ету үшін. Мысал:
sealed class Result {
    data class Success(val data: String) : Result()
    object Error : Result()
}

Осылайша:

  • Қалыпты класс — әмбебап.
  • Деректер класы — деректерді ыңғайлы сақтау және өңдеу үшін.
  • Жабылған класс — шектеулі иерархия және қауіпсіз паттерн-матчинг үшін.