0Pricing
Kotlin Academy · Pelajaran

Mendeklarasikan Kelas Data

Kelas model yang ringkas

Mendeklarasikan Kelas Data 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.

Kelas untuk Menyimpan Data

Banyak kelas hanya ada untuk menggabungkan beberapa nilai: pengguna, titik, atau hasil.

Kotlin menyediakan kelas data, yaitu cara ringkas untuk mendeklarasikan kelas model semacam itu dengan banyak perilaku otomatis.

Mendeklarasikan Kelas Data

Tambahkan kata kunci data sebelum class dan cantumkan propertinya dalam konstruktor.

Satu baris tersebut memberi Anda model yang lengkap.

data class User(val name: String, val age: Int)

fun main() {
    val u = User("Alice", 30)
    println(u.name)
    println(u.age)
}

toString Otomatis

Kelas data secara otomatis menghasilkan toString() yang mudah dibaca. Saat objek dicetak, nama kelas dan nilai propertinya akan ditampilkan.

Bandingkan dengan kelas biasa yang akan mencetak hash yang sulit dipahami.

data class User(val name: String, val age: Int)

fun main() {
    val u = User("Bob", 25)
    println(u)
}

Properti Wajib Ada

Kelas data harus mendeklarasikan setidaknya satu properti dalam konstruktor utamanya.

Setiap parameter harus berupa val atau var agar menjadi properti yang dapat digunakan oleh fungsi yang dihasilkan.

data class Point(val x: Int, val y: Int)

fun main() {
    val p = Point(3, 4)
    println(p)
}

Properti val dan var

Gunakan val untuk properti hanya-baca dan var untuk properti yang dapat diubah.

Kelas data yang tidak dapat diubah biasanya lebih disukai karena lebih mudah dipahami cara kerjanya.

data class Counter(var count: Int)

fun main() {
    val c = Counter(0)
    c.count = 5
    println(c)
}

Nilai Parameter Bawaan

Seperti konstruktor lainnya, kelas data dapat memiliki nilai bawaan.

Dengan demikian, pemanggil dapat menghilangkan parameter yang tidak perlu mereka tetapkan.

data class User(val name: String, val active: Boolean = true)

fun main() {
    val u = User("Mia")
    println(u)
}

Argumen Bernama

Padukan kelas data dengan argumen bernama agar konstruksinya jelas dan mudah dipahami tanpa melihat dokumentasi tambahan.

Hal ini sangat membantu ketika beberapa properti memiliki tipe yang sama.

data class Rect(val width: Int, val height: Int)

fun main() {
    val r = Rect(width = 10, height = 5)
    println(r)
}

Menambahkan Metode

Kelas data tetap dapat memiliki isi dengan fungsi dan properti hasil perhitungannya sendiri.

Fungsi yang dihasilkan akan berada berdampingan dengan apa pun yang Anda tambahkan.

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

fun main() {
    val c = Circle(2.0)
    println(c.area())
}

Properti di Luar Konstruktor

Hanya properti dalam konstruktor utama yang digunakan oleh fungsi yang dihasilkan.

Properti yang dideklarasikan di dalam isi kelas tetap menjadi bagian dari objek, tetapi diabaikan oleh toString, equals, dan fungsi terkait lainnya.

data class User(val name: String) {
    var nickname: String = ""
}

fun main() {
    val u = User("Alex")
    u.nickname = "Al"
    println(u) // nickname not shown
    println(u.nickname)
}

Kapan Menggunakan Kelas Data

Gunakan kelas data ketika sebuah objek terutama menyimpan nilai:

  • DTO dan model API
  • Koordinat, rentang, dan hasil
  • Kumpulan konfigurasi

Hindari kelas data untuk kelas yang dibangun berdasarkan perilaku kompleks atau pewarisan.

Menggabungkan Semuanya

Kelas data adalah deklarasi model yang ringkas:

  • Awali dengan data dan cantumkan propertinya
  • Dapatkan toString, equals, hashCode, dan copy secara otomatis
  • Mendukung nilai bawaan, argumen bernama, dan metode tambahan
data class Book(val title: String, val pages: Int = 0)

fun main() {
    val b = Book(title = "Kotlin", pages = 300)
    println(b)
}

Pemeriksaan Cepat

Uji pemahaman Anda tentang cara mendeklarasikan kelas data.

Ringkasan

Anda telah mempelajari cara mendeklarasikan kelas data:

  • Kata kunci data menghasilkan fungsi standar
  • Properti konstruktor menentukan perilaku yang dihasilkan
  • Nilai bawaan dan argumen bernama membuatnya fleksibel

Selanjutnya Anda akan mempelajari fungsi copy dan equals yang dihasilkan secara mendalam.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Mendeklarasikan Kelas Data” gratis?

Ya — teks lengkap “Mendeklarasikan Kelas Data” 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 “Mendeklarasikan Kelas Data”?

Kelas model yang ringkas 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 “Mendeklarasikan Kelas Data” 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. Mendeklarasikan Kelas Data
  2. copy dan equals
  3. Deklarasi Destrukturisasi
  4. Kelas Data dalam Koleksi
← Kembali ke Kotlin Academy