Kotlin Dersleri #14 – Sınıf – init Bloğu

Kotlin derslerine sınıf örnekleri ile devam ediyoruz.

Sınıflarda init bloğunu örneklendireceğiz.

init bloğu: bir sınıftan nesne oluşturulduğunda tetiklenir ve içindeki kod bloğunu çalıştırır. Bir sınıftan bir nesne oluşturulduğu anda ilk önce constructor daha sonra init bloğu çalıştırılır. Aşağıdaki örnekle daha iyi anlayacağınızı düşünüyorum.

Örnek:
class Customer(val customerName: String = “”)

fun main() {
val nesne = Derived(“Emre”, “Akçadağ”)
}

open class Base(val name: String) {

init { println(“Initializing Base”) }

open val size: Int =
name.length.also { println(“Initializing size in Base: $it”) }
}

class Derived(
name: String,
val lastName: String
) : Base(name.capitalize().also { println(“Argument for Base: $it”) }) {

init { println(“Initializing Derived”) }

override val size: Int = (super.size + lastName.length).also { println(“Initializing size in Derived: $it”) }
Çıktı: Argument for Base: Emre
Initializing Base
Initializing size in Base: 4
Initializing Derived
Initializing size in Derived: 11
Sınıflarda init yapısını anlattık. Bir sonraki derste görüşmek üzere.

Sorularınızı ve isteklerinizi yorum bölümünden iletebilirsiniz.