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!`.