Mixin di Dart
Penjelasan
Mixin adalah cara Dart berbagi kode antar class TANPA inheritance — mirip module Ruby atau default method di interface Kotlin. Sebuah class bisa "mencampurkan" (mix in) satu atau LEBIH mixin sekaligus lewat keyword with, mendapat semua method di dalamnya seolah-olah didefinisikan langsung di class itu.
Contoh Konsep
mixin BisaTerbang {
String terbang() {
return "Sedang terbang!";
}
}
mixin BisaBerenang {
String berenang() {
return "Sedang berenang!";
}
}
class Bebek with BisaTerbang, BisaBerenang {} // pakai DUA mixin sekaligus
void main() {
var bebek = Bebek();
print(bebek.terbang()); // Sedang terbang!
print(bebek.berenang()); // Sedang berenang!
}
Praktikum
Buat mixin BisaBersuara dengan method bersuara() yang mengembalikan "Suara umum". Buat class Anjing with BisaBersuara. Buat object Anjing dan tampilkan hasil bersuara().
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Beda dari class biasa, mixin TIDAK bisa di-instansiasi langsung (var x = BisaTerbang() akan error) dan biasanya TIDAK punya constructor — tujuannya murni jadi kumpulan perilaku yang dicampurkan ke class lain.