0Pricing
Kotlin Academy · Pelajaran

Alias Tipe

Beri nama pada tipe kompleks

Alias Tipe adalah pelajaran Kotlin Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Kotlin Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Kotlin Academy mencakup 4 pelajaran total.

Apa Itu Alias Tipe?

Alias tipe memberikan nama baru untuk tipe yang sudah ada. Alias tidak memperkenalkan tipe baru — alias semata-mata merupakan alat keterbacaan yang diselesaikan saat kompilasi.

Anda mendeklarasikannya dengan kata kunci typealias.

typealias Name = String

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

Menamai Tipe Fungsi

Tipe fungsi bisa panjang. Alias membuat tanda tangan jauh lebih mudah dibaca.

typealias Handler = (String) -> Unit

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

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

Menamai Tipe Generik

Generik yang bertingkat dalam seperti Map<String, List<Int>> lebih mudah dibaca dengan alias.

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

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

Alias Bersifat Transparan

Karena alias adalah tipe yang sama, nilai dapat dipertukarkan sepenuhnya. Name dan String dapat dicampur bebas tanpa konversi.

typealias Name = String

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

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

Alias Berparameter

Alias tipe dapat memiliki parameter tipenya sendiri dan meneruskannya ke tipe yang mendasarinya.

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

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

Membuat Alias untuk Kelas Bertingkat

Jalur kelas bertingkat atau kelas dalam yang panjang dapat diberi alias singkat, sehingga mengurangi keramaian dan kekacauan impor.

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

typealias Shortcut = Outer.Inner

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

Meningkatkan Keterbacaan Domain

Alias menyampaikan maksud. typealias UserId = Int mendokumentasikan bahwa bilangan bulat mewakili identitas pengguna, meskipun kompiler tetap memperlakukannya sebagai Int.

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")
}

Tidak Menambah Keamanan Tipe

Perlu diperhatikan: karena alias bersifat transparan, kompiler tidak akan mencegah Anda meneruskan UserId ketika alias Int yang berbeda diharapkan. Alias adalah dokumentasi, bukan penegakan.

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
}

Hanya Tingkat Teratas

Alias tipe harus dideklarasikan pada tingkat teratas sebuah berkas. Anda tidak dapat mendefinisikannya di dalam fungsi atau kelas. Letakkan alias di dekat kode terkait atau dalam berkas khusus.

typealias Callback = () -> Unit

fun run(cb: Callback) = cb()

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

Kapan Menggunakan Alias

Gunakan alias tipe ketika:

  • Tipe fungsi atau generik panjang dan digunakan berulang kali
  • Anda menginginkan nama yang menjelaskan dirinya sendiri untuk tipe primitif
  • Anda memerlukan nama singkat untuk tipe bertingkat

Jika memerlukan keamanan tipe yang sesungguhnya, gunakan kelas nilai.

Alias vs Kelas Nilai

Alias adalah tipe yang sama dengan nama baru — tanpa keamanan. Kelas nilai adalah tipe berbeda yang mencegah pencampuran nilai. Pelajaran berikutnya membahas kelas nilai.

Pemeriksaan Singkat

Uji pemahaman Anda tentang alias tipe.

Ringkasan

Anda mempelajari alias tipe:

  • Dideklarasikan dengan typealias pada tingkat teratas
  • Hanya nama baru dan sepenuhnya transparan
  • Bermanfaat untuk tipe fungsi, generik, dan keterbacaan
  • Tidak menambah keamanan tipe

Selanjutnya: kelas nilai sebaris untuk pembungkusan tanpa biaya tambahan.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Alias Tipe” gratis?

Ya — teks lengkap “Alias Tipe” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Kotlin Academy, upgrade ke CoddyKit PRO. Kursus Kotlin Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Alias Tipe”?

Beri nama pada tipe kompleks Kamu berlatih Kotlin Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Kotlin Academy?

Tidak diperlukan pengalaman sebelumnya. Kotlin Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.

Berapa lama pelajaran “Alias Tipe” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Kotlin Academy ini?

Ya. Setiap pelajaran Kotlin Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Alias Tipe
  2. Kelas Nilai Inline
  3. Kasus Penggunaan
  4. Keterbatasan
← Kembali ke Kotlin Academy