Sobes.tech
Junior — Middle

Sealed anahtar kelimesiyle tanımlanan bir sınıfın amacı nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

sealed modifiyarı ile ilan edilen bir sınıf, kalıtımı sınırlamak için tasarlanmıştır. Böyle bir sınıfın alt sınıfları olabilir, ancak bunlar yalnızca aynı dosyada ilan edilmiştir. Bu, kalıtım hiyerarşisini kontrol etmeye ve sabitlemeye olanak tanır, böylece daha öngörülebilir ve güvenli hale gelir.

Örneğin, Kotlin'de sealed sınıflar genellikle sınırlı bir durum veya varyant kümesini temsil etmek için kullanılır, bu da when ifadeleriyle çalışırken kullanışlıdır, çünkü derleyici tüm varyantların işlenip işlenmediğini kontrol edebilir.

sealed class Result {
    data class Success(val data: String) : Result()
    data class Error(val error: Throwable) : Result()
}

fun handleResult(result: Result) {
    when(result) {
        is Result.Success -> println("Veri: ${result.data}")
        is Result.Error -> println("Hata: ${result.error.message}")
    }
}