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: