Kotlin Dersleri #12 - Sınıf - Class

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

 

Sınıflar class anahtar kelimesi ile tanımlanırlar. Aşağıdaki örneklerle snıf mantığını daha iyi anlayacağınızı düşünüyorum.

Örnek1:

class Invoice { ... }
 

Constructors

Kotlin'deki bir sınıf, bir adet birincil constructor ve bir veya daha fazla ikincil constructor'a sahip olabilir. Birincil constructor, sınıf başlığının bir parçasıdır: sınıf adına parametre olarak tanımlanabilir.

 

Örnek2:

class Person constructor(firstName: String) { ... }
 

Örnek3:

class Person(firstName: String) { ... }
 

Örnek4:

class InitOrderDemo(name: String) {
    val firstProperty = "First property: $name".also(::println)

    init {
        println("First initializer block that prints ${name}")
    }

    val secondProperty = "Second property: ${name.length}".also(::println)

    init {
        println("Second initializer block that prints ${name.length}")
    }
}

Çıktı4:

First property: hello
First initializer block that prints hello
Second property: 5
Second initializer block that prints 5
 

Örnek5:

class Customer(name: String) {
    val customerKey = name.toUpperCase()
}
 

Örnek6:

class Person(val firstName: String, val lastName: String, var age: Int) { ... }
 

Örnek7:

class Customer public @Inject constructor(name: String) { ... }
 

Secondary Constructors

Örnek8:

class Person(val name: String) {
    constructor(name: String, parent: Person) : this(name) {
        parent.children.add(this)
    }
}
 

Örnek9:

class Constructors {
    init {
        println("Init block")
    }

    constructor(i: Int) {
        println("Constructor")
    }
}

Çıktı9:

Init block
Constructor
 

Örnek10:

class Customer(val customerName: String = "")

fun main() {

val customer = Customer("Emre Akçadağ")

println(customer.customerName)
}

Çıktı10:

Emre Akçadağ
 

Class yapısını örneklerle anlayacağınızı düşünüyorum. Eklememi veya anlatmamı istediğiniz yerleri lütfen belirtin.

Bir sonraki derste görüşmek üzere.

Sorularınızı ve isteklerinizi yorum bölümünden iletebilirsiniz.
Kaynak:
Bu postu paylaş:

0 yorum

Yorum yapmak için giriş yapmanız gerekmektedir. Giriş yap
Henüz hesabınız yoksa 20 saniyenizi ayırıp kayıt olabilirsiniz. Kaydol