Study
Dart

Inheritance di Dart

Penjelasan

Inheritance di Dart memakai extends, subclass mewarisi field dan method dari superclass. Method yang di-override wajib ditandai @override (anotasi, bukan wajib secara sintaks tapi sangat direkomendasikan supaya compiler bisa memperingatkan kalau ada typo). Keyword super dipakai memanggil constructor/method superclass.

Contoh Konsep

class Hewan {
  String nama;

  Hewan(this.nama);

  String bersuara() {
    return "$nama mengeluarkan suara.";
  }
}

class Kucing extends Hewan {
  Kucing(String nama) : super(nama);

  @override
  String bersuara() {
    return "$nama berkata Meong!";
  }
}

void main() {
  var kucingku = Kucing("Milo");
  print(kucingku.bersuara()); // Milo berkata Meong!
}

Praktikum

Buat class Kendaraan dengan field merek (diisi lewat constructor) dan method infoMerek() yang mengembalikan "Merek: {merek}". Buat class Motor yang extends Kendaraan, override infoMerek() untuk menambahkan " (Motor)" di akhir. Buat object Motor dan tampilkan hasil infoMerek().

Editor Latihan

Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.

Tips

Dart hanya mendukung single inheritance (satu class cuma bisa extends satu superclass) — kalau butuh berbagi perilaku dari beberapa sumber sekaligus, pakai mixin (dibahas di materi berikutnya), bukan multiple inheritance.