Yerel Sınıflar
İşlevlerdeki sınıflar
Yerel Sınıflar, CoddyKit'te ücretsiz bir Kotlin Academy dersidir. Bu, 4 dersinin 4. 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.
İşlevlerde Sınıflar
Kotlin, bir işlev gövdesinin içinde yerel sınıf bildirmenize olanak tanır. Bu sınıf yalnızca ilgili işlevin içinde görünür.
fun main() {
class Greeting(val text: String) {
fun show() = println(text)
}
Greeting("Hello local").show()
}İşlev Kapsamıyla Sınırlı
Yerel sınıf, bildirildiği işlevin dışında kullanılamaz; böylece yardımcı türler sıkı biçimde kapsanmış olur.
fun build(): String {
class Builder {
fun make() = "built"
}
return Builder().make()
}
fun main() {
println(build())
}Yerel Değişkenleri Yakalama
Kapanımlar gibi, yerel sınıflar da kapsayan işlevdeki değişkenleri yakalayabilir.
fun main() {
val prefix = ">> "
class Logger {
fun log(msg: String) = println(prefix + msg)
}
Logger().log("started")
}Birden Çok Örnek
İşlev içinde bir yerel sınıftan istediğiniz kadar örnek oluşturabilirsiniz.
fun main() {
class Point(val x: Int)
val a = Point(1)
val b = Point(2)
println(a.x + b.x)
}Yöntemlere Sahip Yerel Sınıf
Yerel sınıflar tam teşekküllü sınıflardır: kurucular, özellikler ve yöntemlerin tümü kullanılabilir.
fun main() {
class Account(var balance: Int) {
fun deposit(n: Int) { balance += n }
}
val acc = Account(100)
acc.deposit(50)
println(acc.balance)
}Yerel Sınıf Neden Kullanılır?
Bir yardımcı tür yalnızca tek bir işlevin içinde anlamlı olduğunda yerel sınıf kullanınız; böylece dosyayı üst düzey türlerle karmaşıklaştırmazsınız.
fun parseLine(line: String): Int {
class Token(val value: String)
val tokens = line.split(",").map { Token(it) }
return tokens.size
}
fun main() {
println(parseLine("a,b,c"))
}Değiştirilebilir Durumu Yakalama
Yerel sınıf, kapsayan kapsamdan yakaladığı değiştirilebilir değişkenleri değiştirebilir.
fun main() {
var total = 0
class Adder {
fun add(n: Int) { total += n }
}
val a = Adder()
a.add(5)
a.add(7)
println(total)
}Arayüzleri Yerel Olarak Uygulama
Yerel sınıflar arayüzleri uygulayabilir; bu, tek bir işlevin içinde adlandırılmış ve yeniden kullanılabilir bir uygulamaya ihtiyaç duyduğunuzda yararlıdır.
interface Step { fun run(): String }
fun main() {
class First : Step {
override fun run() = "first"
}
println(First().run())
}Yerel ve Anonim Sınıflar
Bir ada ihtiyacınız olduğunda (birden çok örnek oluşturmak veya türe başvurmak için) yerel sınıfı seçiniz. Tek bir satır içi örnek için anonim nesneyi seçiniz.
fun main() {
class Repeater(val times: Int) {
fun run() = "x".repeat(times)
}
println(Repeater(3).run())
}Döngülerin İçinde İç İçe Yerleştirme
Yerel sınıf, döngüler gibi blokların içinde bile bildirilebilir ve kapsamı bu blokla sınırlı olur.
fun main() {
for (i in 1..2) {
class Tag(val id: Int)
println(Tag(i).id)
}
}Uygulamalı Bir Yardımcı
Yerel sınıflar, tam olarak tek bir işlev tarafından kullanılan ve kısa süreli alan yardımcıları için idealdir.
fun report(values: List<Int>): String {
class Stats(val sum: Int, val max: Int)
val s = Stats(values.sum(), values.max())
return "sum=${s.sum} max=${s.max}"
}
fun main() {
println(report(listOf(3, 7, 2)))
}Hızlı Kontrol
Yerel sınıflar hakkındaki anlayışınızı kontrol ediniz.
Özet
Yerel sınıflar hakkında şunları öğrendiniz:
- Bir işlevin içinde bildirilir ve kapsamı bu işlevle sınırlıdır.
- Kapsayan yerel değişkenleri yakalayabilir ve değiştirebilir.
- Tam sınıflardır: kurucular, özellikler, yöntemler ve arayüzler desteklenir.
- Bir ada ihtiyaç duyduğunuzda yerel sınıfı, tek bir satır içi örnek için anonim nesneyi kullanınız.
fun main() {
val tag = "L"
class C { fun show() = tag }
println(C().show())
}Sıkça Sorulan Sorular
“Yerel Sınıflar” dersi ücretsiz mi?
Evet — “Yerel Sınıflar” 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.
“Yerel Sınıflar” dersinde ne öğreneceğim?
İşlevlerdeki sınıflar 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 4. dersidir.
“Yerel Sınıflar” 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
- İç İçe Sınıflar
- İç Sınıflar
- Anonim Nesneler
- Yerel Sınıflar