Junior — Middle
Kotlin'da data class'da voris e'lon qilish mumkinmi?
sobes.tech AI
AIdan javob
Kotlin'da, data class varsayılan olaraq miras alınamaz, çünkü otomatik olarak final olaraq elan edilir. Bu, generate edilmiş metodların, məsələn, equals(), hashCode() və copy() düzgün işləməsini təmin etmək üçündür.
Əgər data class'dan miras alan bir sinif elan etməyə çalışsanız, kompilyator xəta verəcək.
Lakin, əgər çox vacibdirsə, open modifier əlavə etməklə data class'ı açıq edə bilərsiniz, lakin bu tövsiyə edilmir və birbaşa dəstəklənmir, çünki data class open ola bilməz.
Nümunə, bu kompilyasiya olunmayacaq:
data class User(val name: String)
class AdminUser(val adminLevel: Int) : User("Admin") // Xəta
Beləliklə, Kotlin'da data class'dan miras almaq mümkün deyil.