Kelas Data
Kelas ringkas untuk menyimpan data.
Kelas Data ialah pelajaran Android Academy percuma di CoddyKit. Ini ialah pelajaran 4 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Android Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Android Academy merangkumi sejumlah 4 pelajaran.
Apakah Itu Kelas Data?
Kelas data ialah kelas yang direka untuk menyimpan data. Kotlin menjana kaedah yang berguna untuknya secara automatik.
Anda mengisytiharkannya dengan menulis data sebelum class.
Mengisytiharkan Kelas Data
Kelas data memerlukan sekurang-kurangnya satu parameter dalam pembina utamanya, dan setiap parameter mesti ditandai dengan val atau var.
Di sini ialah User yang menyimpan nama dan umur.
data class User(val name: String, val age: Int)
fun main() {
val u = User("Ada", 30)
println(u.name)
}toString yang Mudah Dibaca
Kelas biasa mencetak alamat yang sukar difahami. Kelas data menjana toString yang jelas dan memaparkan setiap sifat.
Hal ini menjadikan penyahpepijatan lebih mudah.
data class User(val name: String, val age: Int)
fun main() {
val u = User("Ada", 30)
println(u)
}Membandingkan dengan equals
Kelas data membuat perbandingan berdasarkan kandungan, bukan identiti. Dua objek dengan nilai sifat yang sama adalah sama menggunakan ==.
Kelas biasa akan menganggap kedua-duanya berbeza.
data class Point(val x: Int, val y: Int)
fun main() {
val a = Point(1, 2)
val b = Point(1, 2)
println(a == b)
}Fungsi copy
Fungsi copy yang dijana mencipta objek baharu berdasarkan objek sedia ada. Anda boleh mengubah sifat yang anda nyatakan sahaja.
Objek asal kekal tidak berubah.
data class User(val name: String, val age: Int)
fun main() {
val u = User("Ada", 30)
val older = u.copy(age = 31)
println(older)
}Penyahstrukturan
Kelas data menyokong penyahstrukturan: membongkar sifat kepada pemboleh ubah berasingan dalam satu baris.
Urutannya mengikut pembina.
data class User(val name: String, val age: Int)
fun main() {
val (name, age) = User("Sam", 25)
println(name + " " + age)
}Nilai Lalai Juga Berfungsi
Seperti mana-mana pembina, parameter kelas data boleh mempunyai nilai lalai.
Dengan ini, pemanggil boleh mengabaikan medan yang tidak diperlukan.
data class User(val name: String, val active: Boolean = true)
fun main() {
val u = User("Lee")
println(u)
}hashCode untuk Koleksi
Kelas data juga menjana hashCode, jadi kelas data berfungsi dengan betul sebagai kunci dalam Set atau Map.
Objek yang sama menghasilkan cincangan yang sama, jadi pendua dapat dikesan.
data class Point(val x: Int, val y: Int)
fun main() {
val set = setOf(Point(1, 1), Point(1, 1))
println(set.size)
}Bila Hendak Menggunakan Kelas Data
Pilih kelas data apabila objek kebanyakannya membawa nilai dan bukannya tingkah laku yang kompleks.
- Respons API
- Keadaan UI dalam Android
- Rekod pangkalan data
Untuk objek yang kaya dengan logik, kelas biasa lebih sesuai.
Kelas Data Menjimatkan Kerja
Satu kata kunci data memberikan anda toString, equals, hashCode, copy dan sokongan penyahstrukturan.
Ini mengurangkan banyak kod berulang yang tidak perlu anda tulis atau selenggara secara manual.
Kelas Data berbanding Kelas Biasa
Kelas biasa membuat perbandingan berdasarkan identiti dan mencetak rujukan memori. Kelas data membuat perbandingan berdasarkan kandungan dan mencetak nilainya.
Kata kunci data mengaktifkan semua tingkah laku yang dijana ini.
class Plain(val x: Int)
data class Smart(val x: Int)
fun main() {
println(Plain(1) == Plain(1))
println(Smart(1) == Smart(1))
}Semakan Pantas
Uji pemahaman anda tentang kelas data.
Ulang Kaji
Anda telah mempelajari bahawa kelas data menjana toString, equals, hashCode, copy dan sokongan penyahstrukturan secara automatik.
Kelas ini sesuai untuk objek yang membawa nilai seperti keadaan UI dan model API. Kini anda telah merangkumi fungsi, kelas, pembina dan kelas data dalam Kotlin.
Pelajari Kotlin dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 36
- Pelajaran
- 152
Soalan Lazim
Adakah pelajaran “Kelas Data” percuma?
Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Android Academy, termasuk “Kelas Data”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Android Academy merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Kelas Data”?
Kelas ringkas untuk menyimpan data. Anda berlatih Android Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Android Academy?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Android Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 4 daripada 4.
Berapa lamakah pelajaran “Kelas Data” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Android Academy ini?
Ya. Setiap pelajaran Android Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.