0Pricing
Kotlin Academy · Ders

componentN ile Yapı Bozma Bildirimleri

component işlevlerini kullanarak data sınıfı örneklerini değişkenlere ayırın.

componentN ile Yapı Bozma Bildirimleri, CoddyKit'te ücretsiz bir Kotlin 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, Kotlin Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Kotlin Academy kursu toplamda 4 dersten oluşur.

Parçalarına Ayırmanın Temelleri

Parçalarına ayırma bildirimi, bir nesneyi tek adımda birden çok değişkene açar. Bunun için componentN() işleç işlevlerini kullanır.

Veri Sınıfını Parçalarına Ayırma

Veri sınıfları otomatik olarak component1, component2, ... oluşturur; böylece val (a, b) = obj yazabilirsiniz.

data class Point(val x: Int, val y: Int)
fun main() {
    val p = Point(3, 5)
    val (x, y) = p
    println("x=$x, y=$y")
}

Pair'i Parçalarına Ayırma

Standart kitaplıktaki Pair ve Triple türleri, parçalarına ayırmayı doğrudan destekler.

fun main() {
    val pair = "Ada" to 35
    val (name, age) = pair
    println("$name is $age")
}

Triple'ı Parçalarına Ayırma

Triple üç değer tutar; bu değerleri üç değişkene ayırın.

fun main() {
    val rgb = Triple(255, 128, 0)
    val (r, g, b) = rgb
    println("R=$r G=$g B=$b")
}

Eşleme Yinelemesinde Parçalarına Ayırma

Eşleme girdilerinde component1 (anahtar) ve component2 (değer) bulunur. Bir for döngüsünün başlığında parçalarına ayırın.

fun main() {
    val ages = mapOf("Alice" to 30, "Bob" to 25)
    for ((name, age) in ages) {
        println("$name -> $age")
    }
}

Lambda'larda Parçalarına Ayırma

Pair kabul eden lambda'lar, parametreleri doğrudan parçalarına ayırabilir.

fun main() {
    val pairs = listOf("a" to 1, "b" to 2, "c" to 3)
    pairs.forEach { (letter, num) -> println("$letter=$num") }
}

_ ile Değerleri Yok Sayma

İhtiyacınız olmayan değerleri atlamak için alt çizgi _ kullanın.

data class User(val name: String, val email: String, val age: Int)
fun main() {
    val u = User("Ada", "ada@example.com", 35)
    val (name, _, age) = u
    println("$name ($age)")
}

Birden Çok Değer Döndürme

Bir işlev bir Pair veya özel bir veri sınıfı döndürebilir; çağıran taraf bunu parçalarına ayırır.

data class Result(val sum: Int, val product: Int)
fun computeBoth(a: Int, b: Int) = Result(a + b, a * b)
fun main() {
    val (s, p) = computeBoth(4, 5)
    println("sum=$s product=$p")
}

Özel componentN

Her sınıf, operator fun componentN() bildirerek parçalarına ayırmayı destekleyebilir.

class RGB(val r: Int, val g: Int, val b: Int) {
    operator fun component1() = r
    operator fun component2() = g
    operator fun component3() = b
}
fun main() {
    val (red, green, blue) = RGB(255, 100, 0)
    println("$red $green $blue")
}

withIndex() ile Parçalarına Ayırma

withIndex() ile yineleme yaparken dizin ve değeri bir Pair olarak alın.

fun main() {
    val fruits = listOf("apple", "banana", "cherry")
    for ((idx, fruit) in fruits.withIndex()) {
        println("$idx: $fruit")
    }
}

Sınırlama: Konuma Dayalı

Parçalarına ayırma ada göre değil, konuma göre yapılır. Veri sınıfı alanlarının sırasını değiştirmek, çağrı noktalarındaki anlamı sessizce değiştirir.

data class Point(val x: Int, val y: Int)
fun main() {
    val p = Point(10, 20)
    val (a, b) = p // a=x, b=y
    // Add a property in the middle and old destructuring shifts!
    println("$a $b")
}

Hızlı Kontrol

i. özelliğin parçalarına ayrılmasını hangi işleç işlevi mümkün kılar?

Özet

Parçalarına ayırma işlemi componentN() işleç işlevlerini kullanır. Veri sınıfları, Pair, Triple ve eşleme girdileri bunu doğrudan destekler. Değerleri atlamak için _ kullanın ve dikkatli olun: parçalarına ayırma ada göre değil, konuma göre yapılır.

Sıkça Sorulan Sorular

“componentN ile Yapı Bozma Bildirimleri” dersi ücretsiz mi?

Evet — “componentN ile Yapı Bozma Bildirimleri” 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 Kotlin Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Kotlin Academy kursu toplamda 4 dersten oluşur.

“componentN ile Yapı Bozma Bildirimleri” dersinde ne öğreneceğim?

component işlevlerini kullanarak data sınıfı örneklerini değişkenlere ayırın. Kotlin 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.

Kotlin Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Kotlin 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.

“componentN ile Yapı Bozma Bildirimleri” 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 Kotlin Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Kotlin 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

  1. Data Sınıfı Temelleri: Otomatik Oluşturulan Yöntemler
  2. copy() ve Kısmi Geçersiz Kılmalarla Kopyalama
  3. componentN ile Yapı Bozma Bildirimleri
  4. Koleksiyonlarda ve Map Anahtarları Olarak Data Sınıfları
← Kotlin Academy Sayfasına Dön