← Kembali ke kursus
Pelajaran kursus · Dart
Pelajaran 24

Interface dan mixin

implements (implicit interface), mixin with.

Pahami konsepnya

Setiap class Dart adalah implicit interface. class Kucing implements Hewan — harus mengimplementasikan SEMUA method Hewan. Mixin: mixin Loggable { void log() => print("log"); } lalu class Item with Loggable — menambahkan method tanpa pewarisan.

Coba contoh kode

mixin Loggable {
  void log(String msg) => print("[LOG] $msg");
}

mixin Greetable {
  String get nama;
  void sapa() => print("Halo $nama!");
}

class Item with Loggable, Greetable {
  @override
  String nama = "Widget";
}

void main() {
  var item = Item();
  item.log("dibuat");
  item.sapa();
}

Mixin Loggable dan Greetable menambah method log() dan sapa() ke Item tanpa pewarisan — class Item bisa memakai banyak mixin sekaligus.

Latihan singkat

Uji: mixin dengan halo() → item.halo() harus `Halo!`.