Inheritance di Scala
Penjelasan
Scala mendukung single inheritance untuk class biasa (satu class hanya bisa `extends` satu class induk, meski bisa mencampur banyak trait). Method di class induk yang ingin diubah perilakunya di class turunan harus ditandai `override`, dan constructor induk dipanggil lewat parameter yang diteruskan di deklarasi class turunan.
Contoh Konsep
class Hewan(val nama: String) {
def bersuara(): String = "..."
}
class Kucing(nama: String) extends Hewan(nama) {
override def bersuara(): String = "Meong"
}
val kucing = new Kucing("Kitty")
println(kucing.nama) // "Kitty", diwarisi dari Hewan
println(kucing.bersuara()) // "Meong", override
Praktikum
Buat class Kendaraan(merek: String) dengan method deskripsi() default, lalu class Mobil yang extends Kendaraan dan override deskripsi() dengan teks berbeda.
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Untuk kebutuhan berbagi perilaku ke banyak class tanpa hierarki induk-anak yang kaku, trait biasanya lebih idiomatik di Scala daripada inheritance class bertingkat.