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()
}
Осылайша:
- Қалыпты класс — әмбебап.
- Деректер класы — деректерді ыңғайлы сақтау және өңдеу үшін.
- Жабылған класс — шектеулі иерархия және қауіпсіз паттерн-матчинг үшін.