Sobes.tech
Junior

Kotlin dilinde kalıtım nasıl gerçekleştirilir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Kotlin'de kalıtım, open ve override anahtar kelimelerine dayanır. Sınıflar ve metodlar varsayılan olarak final olup, kalıtıma veya üzerine yazılmaya izin vermezler. Kalıtıma izin vermek için, sınıf veya metod open modifikatorü ile işaretlenmelidir.

Bir alt sınıf oluşturmak için, ana sınıf adından sonra iki nokta : kullanılır ve ardından temel sınıfın adı ve yapıcı fonksiyonu gelir.

open class Base(val name: String) {
    open fun greet() {
        println("Merhaba, $name")
    }
}

Temel sınıfın metodunu alt sınıfta yeniden tanımlamak için override modifikatorü kullanılır.

class Derived(name: String) : Base(name) {
    override fun greet() {
        println("Selamlar, $name")
    }
}

Eğer temel sınıfın yapıcısı parametreliyse, alt sınıf onu super anahtar kelimesiyle çağırmalıdır.

Kotlin, arayüzler (interfaces) çoklu kalıtımı destekler, ancak sınıflar için değil. Bir sınıf yalnızca bir sınıfı kalıtabilir.

Ayrıca, sınıf üyelerini protected, internal veya private olarak işaretleyerek, görünürlüğü alt sınıflar veya modül sınırlarıyla sınırlayabilir.

Soyut sınıflar abstract anahtar kelimesiyle tanımlanır. Hem soyut (geliştirilmemiş) hem de normal metodlar içerebilirler. Soyut metodlar open anahtar kelimesine ihtiyaç duymaz, çünkü varsayılan olarak üzerine yazılmaları beklenir. Soyut sınıflar doğrudan örneklendirilemez.

abstract class Shape {
    abstract fun draw()
    open fun printInfo() {
        println("Bu bir şekil.")
    }
}

Bu şekilde, Kotlin'de kalıtım açıkça open ve override modifikatorleriyle kontrol edilir, bu da okunabilirliği artırır ve istenmeyen kalıtımı önler.