0Pricing
Kotlin Academy · Ders

Tür Takma Adları

Karmaşık türleri adlandırın

Tür Takma Adları, CoddyKit'te ücretsiz bir Kotlin Academy dersidir. Bu, 4 dersinin 1. 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.

Tür Takma Adı Nedir?

Tür takma adı, mevcut bir türe yeni bir ad verir. Yeni bir tür oluşturmaz; yalnızca derleme zamanında çözümlenen bir okunabilirlik aracıdır.

Bir tür takma adını typealias anahtar sözcüğüyle tanımlarsınız.

typealias Name = String

fun main() {
    val n: Name = "Alice"
    println(n)
}

İşlev Türlerini Adlandırma

İşlev türleri uzun olabilir. Bir takma ad, imzaların okunmasını çok kolaylaştırır.

typealias Handler = (String) -> Unit

fun register(h: Handler) {
    h("event fired")
}

fun main() {
    register { msg -> println(msg) }
}

Genel Türleri Adlandırma

Map<String, List<Int>> gibi derin iç içe geçmiş genel türler, bir takma ad kullanıldığında daha kolay okunur.

typealias ScoreBoard = Map<String, List<Int>>

fun main() {
    val board: ScoreBoard = mapOf("team1" to listOf(10, 20))
    println(board)
}

Takma Adlar Saydamdır

Takma ad aynı türü ifade ettiğinden değerler tamamen birbirinin yerine kullanılabilir. Name ve String, dönüştürme yapılmadan serbestçe birlikte kullanılabilir.

typealias Name = String

fun shout(s: String) = s.uppercase()

fun main() {
    val n: Name = "bob"
    println(shout(n))
}

Parametreli Takma Adlar

Bir tür takma adının kendi tür parametreleri olabilir; bu parametreleri temel türe aktarır.

typealias Pairs<T> = List<Pair<T, T>>

fun main() {
    val data: Pairs<Int> = listOf(1 to 2, 3 to 4)
    println(data)
}

İç İçe Sınıflara Takma Ad Verme

Uzun bir iç içe veya iç sınıf yolu için kısa bir takma ad kullanılabilir; böylece içe aktarma gürültüsü ve karmaşa azalır.

class Outer {
    class Inner {
        fun hello() = "inner hello"
    }
}

typealias Shortcut = Outer.Inner

fun main() {
    println(Shortcut().hello())
}

Alan Okunabilirliğini İyileştirme

Takma adlar amacı açıkça belirtir. typealias UserId = Int, derleyici onu hâlâ Int olarak değerlendirse de bir tamsayının kullanıcı kimliğini temsil ettiğini belgeler.

typealias UserId = Int
typealias Email = String

fun notify(id: UserId, to: Email) {
    println("Notify user " + id + " at " + to)
}

fun main() {
    notify(42, "a@b.com")
}

Tür Güvenliği Eklenmez

Şunu unutmayın: Takma adlar saydam olduğundan derleyici, farklı bir Int takma adının beklendiği yerde UserId göndermenizi engellemez. Bunlar zorlama değil, belgeleme amaçlıdır.

typealias UserId = Int
typealias OrderId = Int

fun process(order: OrderId) = println("order " + order)

fun main() {
    val user: UserId = 5
    process(user) // compiles fine — both are Int
}

Yalnızca Üst Düzeyde

Tür takma adları bir dosyanın üst düzeyinde tanımlanmalıdır. Bunları işlevlerin veya sınıfların içinde tanımlayamazsınız. Takma adları ilgili kodun yakınına veya özel bir dosyaya yerleştirin.

typealias Callback = () -> Unit

fun run(cb: Callback) = cb()

fun main() {
    run { println("done") }
}

Takma Adlar Ne Zaman Kullanılır?

Şu durumlarda tür takma adlarını tercih edin:

  • Bir işlev türü veya genel tür uzun ve tekrarlıysa
  • İlkel türler için kendini açıklayan adlar istiyorsanız
  • İç içe bir tür için kısa bir ad gerekiyorsa

Gerçek tür güvenliğine ihtiyaç duyduğunuzda bunun yerine bir değer sınıfı kullanın.

Takma Ad ve Değer Sınıfı

Takma ad, yeni adlı aynı türdür ve hiç güvenlik sağlamaz. Değer sınıfı ise değerlerin birbirine karıştırılmasını önleyen farklı bir türdür. Sıradaki derste değer sınıfları ele alınacaktır.

Kısa Sınama

Tür takma adları konusundaki anlayışınızı sınayın.

Özet

Tür takma adlarını öğrendiniz:

  • Üst düzeyde typealias ile tanımlanır
  • Yalnızca yeni bir addır ve tamamen saydamdır
  • İşlev türleri, genel türler ve okunabilirlik için kullanışlıdır
  • Tür güvenliği eklemez

Sırada: sıfır ek yükle sarmalama sağlayan satır içi değer sınıfları.

Sıkça Sorulan Sorular

“Tür Takma Adları” dersi ücretsiz mi?

Evet — “Tür Takma Adları” 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.

“Tür Takma Adları” dersinde ne öğreneceğim?

Karmaşık türleri adlandı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 1. dersidir.

“Tür Takma Adları” 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. Tür Takma Adları
  2. Satır İçi Değer Sınıfları
  3. Kullanım Alanları
  4. Sınırlamalar
← Kotlin Academy Sayfasına Dön