Junior — Middle
Hangi durumlarda ve nerede, sealed olarak işaretlenmiş bir sınıf varsa alt sınıflar ilan edilebilir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Kotlin'de, sealed olarak işaretlenmiş bir sınıf, kalıtım hiyerarşisini sınırlar: Bu sınıfın tüm alt sınıfları, aynı dosyada tanımlanmalıdır. Bu, derleyicinin tüm varisleri bilmesini sağlar ve örneğin when ifadelerinde else bloğu yazmaya gerek kalmadan kullanabilir.
Yani, sealed sınıfın alt sınıfları şu şekilde bildirilebilir:
sealedsınıfın tanımlandığı aynı dosyada.- Kendisi
sealedsınıfın içinde (iç içe sınıflar).
Örnek:
sealed class Result {
class Success(val data: String) : Result()
class Error(val error: Throwable) : Result()
}
Veya
sealed class Result
class Success(val data: String) : Result()
class Error(val error: Throwable) : Result()
Ancak, tüm bu alt sınıflar, sealed sınıf ile aynı dosyada olmalıdır. Bu kısıtlama, tür güvenliğini ve tam denetimleri sağlamaya yardımcı olur.