Konstruktor dan init
Buat dan inisialisasi objek.
Konstruktor dan init adalah pelajaran Android Academy gratis di CoddyKit. Ini adalah pelajaran 3 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 Android Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Android Academy mencakup 4 pelajaran total.
Apa Itu Konstruktor?
Konstruktor adalah kode khusus yang berjalan saat Anda membuat objek. Konstruktor menyiapkan nilai awal objek.
Di Kotlin, konstruktor utama ditulis tepat setelah nama kelas.
Konstruktor Utama
Konstruktor utama ditulis dalam tanda kurung setelah nama kelas. Anda meneruskan nilai saat membuat objek.
Di sini, Dog memerlukan nama saat dibuat.
class Dog(name: String) {
val dogName = name
}
fun main() {
val d = Dog("Rex")
println(d.dogName)
}Properti dalam Konstruktor
Menambahkan val atau var di depan parameter konstruktor otomatis mengubahnya menjadi properti.
Ini adalah gaya Kotlin yang paling umum dan ringkas.
class Dog(val name: String, var age: Int)
fun main() {
val d = Dog("Rex", 3)
println(d.name + " is " + d.age)
}Nilai Default Konstruktor
Parameter konstruktor juga dapat memiliki nilai default. Dengan begitu, pemanggil dapat menghilangkan parameter tersebut.
Di sini, age secara default bernilai 0 jika tidak diberikan.
class Dog(val name: String, var age: Int = 0)
fun main() {
val d = Dog("Max")
println(d.age)
}Blok init
Blok init berjalan sebagai bagian dari konstruktor utama. Gunakan blok ini untuk logika penyiapan yang tidak cukup ditulis dalam satu baris properti.
Blok ini dapat membaca parameter konstruktor.
class Dog(val name: String) {
init {
println("Created dog: " + name)
}
}
fun main() {
Dog("Rex")
}Memvalidasi dalam init
Salah satu penggunaan umum init adalah memeriksa masukan. Di sini, kami mencegah usia negatif menggunakan require.
Jika pemeriksaan gagal, objek tidak akan pernah dibuat.
class Person(val age: Int) {
init {
require(age >= 0) { "Age cannot be negative" }
}
}
fun main() {
val p = Person(25)
println(p.age)
}Urutan Eksekusi
Inisialisasi properti dan blok init berjalan dari atas ke bawah sesuai urutannya di dalam kelas.
Hal ini penting ketika satu baris bergantung pada nilai yang ditetapkan di atasnya.
class Demo {
val a = 1
init { println("a is " + a) }
val b = a + 1
init { println("b is " + b) }
}
fun main() {
Demo()
}Properti Terhitung
Anda dapat menghitung properti dari nilai konstruktor di dalam badan kelas.
Di sini, area diturunkan dari width dan height.
class Rect(val width: Int, val height: Int) {
val area = width * height
}
fun main() {
println(Rect(3, 4).area)
}Konstruktor Sekunder
Sebuah kelas juga dapat memiliki konstruktor sekunder menggunakan kata kunci constructor. Konstruktor tersebut harus mendelegasikan ke konstruktor utama dengan this(...).
Konstruktor sekunder lebih jarang digunakan karena nilai default biasanya sudah mencukupi.
class Dog(val name: String) {
constructor() : this("Unknown")
}
fun main() {
println(Dog().name)
}Menggunakan Objek Baru
Setelah konstruktor dan init selesai dijalankan, objek siap digunakan. Anda dapat langsung membaca propertinya dan memanggil metodenya.
Di sini, konstruktor menyiapkan saldo, lalu sebuah metode mengurangi saldo tersebut.
class Account(var balance: Int) {
fun spend(amount: Int) {
balance = balance - amount
}
}
fun main() {
val acc = Account(100)
acc.spend(30)
println(acc.balance)
}Konstruktor Menyiapkan Dasar
Konstruktor dan blok init memastikan setiap objek dimulai dalam keadaan yang valid.
- Konstruktor utama: mendeklarasikan dan menerima nilai.
init: menjalankan penyiapan dan validasi.
Hal ini mencegah objek yang belum selesai dibuat dalam aplikasi Anda.
Pemeriksaan Singkat
Uji pemahaman Anda tentang konstruktor dan init.
Ringkasan
Anda telah mempelajari konstruktor utama, cara mendeklarasikan properti dengan val/var di dalamnya, serta cara memberinya nilai default.
Blok init menangani penyiapan dan validasi, lalu berjalan dari atas ke bawah bersama inisialisasi properti. Selanjutnya, Anda akan mempelajari kelas data yang menghasilkan kode pendukung ini untuk Anda.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Konstruktor dan init” gratis?
Ya — teks lengkap “Konstruktor dan init” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Android Academy, upgrade ke CoddyKit PRO. Kursus Android Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Konstruktor dan init”?
Buat dan inisialisasi objek. Kamu berlatih Android 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 Android Academy?
Tidak diperlukan pengalaman sebelumnya. Android 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 3 dari 4.
Berapa lama pelajaran “Konstruktor dan init” 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 Android Academy ini?
Ya. Setiap pelajaran Android 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
- Mendeklarasikan Fungsi
- Kelas dan Properti
- Konstruktor dan init
- Kelas Data