Study
Scala

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.

Editor Latihan

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.