Study
Dart

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().

Editor Latihan

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.