Sobes.tech
Junior — Middle

Kilitli sınıf nedir ve onun temel avantajları ve özellikleri nelerdir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Kilitli sınıf (sealed class), Kotlin'de (genellikle Android geliştirmede kullanılan) özel bir sınıf türüdür ve kalıtım hiyerarşisini sınırlar. Ana fikir, kilitli sınıfın tüm alt sınıflarının aynı dosyada ilan edilmesi gerektiğidir.

Avantajlar ve özellikler:

  • Derleyicinin tüm alt sınıfları bilmesini sağlar, bu da when ifadeleriyle çalışırken güvenliği ve kullanışlılığı artırır — derleyici tüm durumların işlendiğini kontrol eder.
  • Sınırlı hiyerarşilerin, örneğin durumlar veya olaylar gibi, modellenmesini kolaylaştırır.
  • Dosya dışında yeni alt sınıfların oluşturulmasını engeller, bu da mimari üzerinde kontrol sağlar.

Örnek:

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}")
    }
}