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ımlarval 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ırmatoString()— 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şletilebilirclass Dog : Animal()— Animal sınıfını genişletiroverride 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 copycompanion object— sınıf düzeyindeki (static) üyeler- Kalıtım için
opensınıfları veoverride - Tekil nesneler için
objecttanı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
- Null Güvenliği
- Sınıflar ve Nesneler
- Veri Sınıfları ve Mühürlü Sınıflar
- Uzantı İşlevleri ve Üst Düzey İşlevler