Sobes.tech
Junior — Middle

Kotlin'de data class içinde mirasçı ilan etmek mümkün mü?

sobes.tech yapay zeka

AI'dan gelen yanıt

Kotlin'de, varsayılan olarak, data class'lar miras alınamaz çünkü otomatik olarak final olarak ilan edilirler. Bu, equals(), hashCode() ve copy() gibi üretilen metodların doğru çalışmasını sağlamak içindir.

Bir data class'tan miras alan bir sınıf tanımlamaya çalışırsanız, derleyici hata verir.

Ancak, gerçekten gerekiyorsa, open modifiyer'ını ekleyerek bir data class'ı açık hale getirebilirsiniz, ancak bu önerilmez ve doğrudan desteklenmez çünkü data class open olamaz.

Kompile edilmeyen bir örnek:

data class User(val name: String)

class AdminUser(val adminLevel: Int) : User("Admin") // Hata

Bu nedenle, Kotlin'de data class'tan miras almak mümkün değildir.