Oluşturucular ve init
Nesneler oluşturup başlatın.
Oluşturucular ve init, CoddyKit'te ücretsiz bir Android Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Android Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Android Academy kursu toplamda 4 dersten oluşur.
Kurucu Nedir?
Kurucu, bir nesne oluşturduğunuzda çalıştırılan özel koddur. Nesnenin başlangıç değerlerini ayarlar.
Kotlin'de ana kurucu, sınıf adının hemen yanında yazılır.
Birincil Kurucu
Birincil kurucu, sınıf adından sonra parantezlerin içine yazılır. Nesneyi oluştururken değerleri geçirirsiniz.
Burada Dog oluşturulurken bir ad gerektirir.
class Dog(name: String) {
val dogName = name
}
fun main() {
val d = Dog("Rex")
println(d.dogName)
}Kurucudaki Özellikler
Bir kurucu parametresinin önüne val veya var eklemek, onu otomatik olarak bir özelliğe dönüştürür.
Bu, en yaygın ve özlü Kotlin yazım biçimidir.
class Dog(val name: String, var age: Int)
fun main() {
val d = Dog("Rex", 3)
println(d.name + " is " + d.age)
}Varsayılan Kurucu Değerleri
Kurucu parametrelerinin de varsayılan değerleri olabilir. Böylece çağıranlar bu parametreleri belirtmeyebilir.
Burada age, sağlanmadığında varsayılan olarak 0 değerini alır.
class Dog(val name: String, var age: Int = 0)
fun main() {
val d = Dog("Max")
println(d.age)
}init Bloğu
Bir init bloğu, birincil kurucunun parçası olarak çalışır. Tek bir özellik satırına sığmayan kurulum mantığı için kullanın.
Kurucu parametrelerini okuyabilir.
class Dog(val name: String) {
init {
println("Created dog: " + name)
}
}
fun main() {
Dog("Rex")
}init İçinde Doğrulama
init bloğunun yaygın bir kullanım amacı, girdileri denetlemektir. Burada require kullanarak negatif yaş değerlerine karşı önlem alıyoruz.
Denetim başarısız olursa nesne hiçbir zaman oluşturulmaz.
class Person(val age: Int) {
init {
require(age >= 0) { "Age cannot be negative" }
}
}
fun main() {
val p = Person(25)
println(p.age)
}Çalıştırma Sırası
Özellik başlatıcıları ve init blokları, sınıfta göründükleri sırayla yukarıdan aşağıya çalışır.
Bir satır kendisinden önce ayarlanmış bir değere bağlı olduğunda bu önemlidir.
class Demo {
val a = 1
init { println("a is " + a) }
val b = a + 1
init { println("b is " + b) }
}
fun main() {
Demo()
}Hesaplanan Özellikler
Bir özelliği sınıf gövdesi içinde kurucu değerlerinden hesaplayabilirsiniz.
Burada area, width ve height değerlerinden türetilir.
class Rect(val width: Int, val height: Int) {
val area = width * height
}
fun main() {
println(Rect(3, 4).area)
}İkincil Kurucular
Bir sınıfta constructor anahtar sözcüğü kullanılarak ikincil kurucular da bulunabilir. Bunların this(...) ile birincil kurucuya yönlendirme yapması gerekir.
Varsayılan değerler genellikle yeterli olduğundan bunlar daha az kullanılır.
class Dog(val name: String) {
constructor() : this("Unknown")
}
fun main() {
println(Dog().name)
}Yeni Nesneyi Kullanma
Kurucu ve init çalıştıktan sonra nesne kullanıma hazırdır. Özelliklerini okuyabilir ve yöntemlerini hemen çağırabilirsiniz.
Burada kurucu bir bakiyeyi ayarlar ve bir yöntem bu bakiyeden harcama yapar.
class Account(var balance: Int) {
fun spend(amount: Int) {
balance = balance - amount
}
}
fun main() {
val acc = Account(100)
acc.spend(30)
println(acc.balance)
}Kurucular Başlangıcı Hazırlar
Kurucular ve init blokları, her nesnenin geçerli bir durumda başlamasını sağlar.
- Birincil kurucu: değerleri tanımlar ve alır.
init: kurulum ve doğrulama işlemlerini yürütür.
Bu, uygulamanızda yarım oluşturulmuş nesnelerin oluşmasını önler.
Kısa Kontrol
Kurucular ve init ile ilgili anlayışınızı sınayın.
Özet
Birincil kurucuyu, içinde val/var ile özellik tanımlamayı ve bu özelliklere varsayılan değer vermeyi öğrendiniz.
init bloğu kurulum ve doğrulama işlemlerini yürütür ve özellik başlatıcılarıyla birlikte yukarıdan aşağıya çalışır. Sırada, bu hazır kodları sizin için oluşturan veri sınıflarını öğreneceksiniz.
Sıkça Sorulan Sorular
“Oluşturucular ve init” dersi ücretsiz mi?
Evet — “Oluşturucular ve init” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Android Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Android Academy kursu toplamda 4 dersten oluşur.
“Oluşturucular ve init” dersinde ne öğreneceğim?
Nesneler oluşturup başlatın. Android Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Android Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Android Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.
“Oluşturucular ve init” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Android Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Android Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- İşlev Tanımlama
- Sınıflar ve Özellikler
- Oluşturucular ve init
- Veri Sınıfları