0Pricing
Android Academy · Ders

Sınıflar ve Nesneler

Özelliklere ve yöntemlere sahip sınıflar tanımlayın, oluşturucuları kullanın, kalıtımı ve arayüzleri anlayın ve Kotlin'e özgü nesne yönelimli kod yazın.

Sınıflar ve Nesneler, CoddyKit'te ücretsiz bir Android Academy dersidir. Bu, 4 dersinin 2. 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.

Sınıf Nedir?

Sınıf, nesneler oluşturmak için bir taslaktır. İlişkili verileri (özellikleri) ve davranışları (işlevleri) bir arada tutar.

  • class Dog — taslağı tanımlar
  • val myDog = Dog() — bir örnek (nesne) oluşturur

Örnek: ad, yaş ve e-posta tutan bir User sınıfı.

Sınıf Tanımlama

Kotlin sınıfları, kısa ve öz bir birincil oluşturucu sözdizimine sahiptir:

class User(val name: String, var age: Int) {
    fun greet(): String {
        return "Hi, I'm $name and I'm $age years old."
    }
}

fun main() {
    val user = User("Alice", 28)
    println(user.name)     // Alice
    println(user.age)      // 28
    user.age = 29          // var can be changed
    println(user.greet())
}

Veri Sınıfları

Veri sınıfı, veri tutmak için idealdir. data anahtar sözcüğünü eklediğinizde Kotlin şunları otomatik olarak oluşturur:

  • equals() / hashCode() — değere göre karşılaştırma
  • toString() — insanlar tarafından okunabilir çıktı
  • copy() — değiştirilmiş bir kopya oluşturma

Veri Sınıfı Örneği

Veri sınıfları, model nesnelerini temsil ederken öne çıkar:

data class Product(val id: Int, val name: String, val price: Double)

fun main() {
    val p1 = Product(1, "Laptop", 999.99)
    val p2 = p1.copy(price = 899.99) // new copy with changed price

    println(p1)           // Product(id=1, name=Laptop, price=999.99)
    println(p2)           // Product(id=1, name=Laptop, price=899.99)
    println(p1 == p2)     // false (different price)
}

Eşlik Eden Nesneler

Eşlik eden nesne, herhangi bir örneğe değil, doğrudan sınıfa ait üyeleri tutar; Java'daki static yapısına benzer.

Bunlara sınıf adı üzerinden erişin: User.create()

Eşlik Eden Nesne Örneği

Fabrika işlevleri ve sabitler için eşlik eden nesneleri kullanın:

class Counter {
    var count = 0

    fun increment() { count++ }

    companion object {
        const val MAX = 100

        fun create(): Counter = Counter()
    }
}

fun main() {
    val c = Counter.create()
    c.increment()
    c.increment()
    println(c.count)        // 2
    println(Counter.MAX)    // 100
}

Kalıtım

Kotlin sınıfları varsayılan olarak final durumundadır (genişletilemez). Kalıtıma izin vermek için bir sınıfı open olarak işaretleyin.

  • open class Animal — genişletilebilir
  • class Dog : Animal() — Animal sınıfını genişletir
  • override fun sound() — üst sınıftaki bir işlevi geçersiz kılar

Kalıtım Örneği

open class Shape {
    open fun area(): Double = 0.0
}

class Circle(val radius: Double) : Shape() {
    override fun area(): Double = 3.14159 * radius * radius
}

class Rectangle(val w: Double, val h: Double) : Shape() {
    override fun area(): Double = w * h
}

fun main() {
    val shapes: List<Shape> = listOf(
        Circle(5.0),
        Rectangle(4.0, 3.0)
    )
    for (s in shapes) println("Area: ${s.area()}")
}

Nesne Tanımlamaları

Bir object tanımlaması, tam olarak bir örneği olan bir sınıf, yani bir tekil nesne oluşturur. Bu nesneye ilk kez erişildiğinde tembel olarak oluşturulur.

Yardımcı araçlar, yöneticiler veya yalnızca tek bir örneği olması gereken her şey için kullanın.

Hızlı Kontrol

Kotlin'deki bir data class hangi özelliği otomatik olarak sağlar?

Özet: Sınıflar ve Nesneler

Kotlin'in nesne yönelimli programlama yapı taşlarını öğrendiniz:

  • Birincil oluşturuculara ve üye işlevlere sahip sınıflar
  • data class — otomatik oluşturulan equals, toString ve copy
  • companion object — sınıf düzeyindeki (static) üyeler
  • Kalıtım için open sınıfları ve override
  • Tekil nesneler için object tanımlamaları

Gerçek Android uygulamaları oluşturmaya hazırsınız!

Sıkça Sorulan Sorular

“Sınıflar ve Nesneler” dersi ücretsiz mi?

Evet — “Sınıflar ve Nesneler” 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.

“Sınıflar ve Nesneler” dersinde ne öğreneceğim?

Özelliklere ve yöntemlere sahip sınıflar tanımlayın, oluşturucuları kullanın, kalıtımı ve arayüzleri anlayın ve Kotlin'e özgü nesne yönelimli kod yazı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 2. dersidir.

“Sınıflar ve Nesneler” 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

  1. Null Güvenliği
  2. Sınıflar ve Nesneler
  3. Veri Sınıfları ve Mühürlü Sınıflar
  4. Uzantı İşlevleri ve Üst Düzey İşlevler
← Android Academy Sayfasına Dön