CodeBlanks Logo Icon CodeBlanks

mixin

mixin ile yeniden kullanılabilir kod öğrenirsin.

mixin nedir?

Bir mixin, yeniden kullanılabilir bir davranış bloğudur. Sınıflara with anahtar kelimesiyle uygulanır; böylece davranış birden çok sınıfta paylaşılır. Dart tekli kalıtım alır; mixin bu sınırı aşmanın yoludur.

Örnek: mixin Flyer { void fly() { print('Uçuyor'); } }. Bu mixin'i class Bird with Flyer { ... } biçiminde bir sınıfa uygularız. Bird sınıfı fly() metodunu doğrudan çağırabilir. Mixin'ler yapıcı içeremez ve tek başına örneklenemez; yalnızca bir sınıfa uygulandığında anlam kazanır. with anahtar kelimesini sonraki derste daha derin işleyeceğiz.

mixin tanımı

Bir mixin mixin anahtar kelimesiyle tanımlanır; ardından isim ve gövde gelir. Sınıf gövdesine benzer; ama yapıcı içeremez.

Örnek: mixin Greeter { String hello() { return 'Merhaba'; } }. Burada Greeter mixin'i hello() metodunu taşır. Mixin içinde metot, alan ve hatta diğer metotları çağıran davranışlar yer alabilir. Mixin tek başına çağrılamaz: Greeter() derleme hatası verir. Bir sınıfa with ile uygulandığında o sınıfın bir parçası olur ve örnek üzerinden çağrılır.

Uygulama Flyer mixin'ini tanımla ve uygula

Flyer adında bir mixin tanımla; void fly() { print('Uçuyor'); } metodunu ekle. Bird adında, Flyer mixin'ini uygulayan bir sınıf yaz: class Bird with Flyer { Bird(); }. main içinde var b = Bird(); ile örnek oluştur ve b.fly() çağrısı yap.

Başlangıç kodu

main.dart
// Flyer mixin'ini tanımla
// Bird sınıfını Flyer ile uygula

void main() {
  // Bird örneği oluştur ve fly() çağır
}

Örnek çözüm

main.dart
// Flyer mixin'ini tanımla
mixin Flyer {
  void fly() {
    print('Uçuyor');
  }
}

class Bird with Flyer {
  Bird();
}

void main() {
  var b = Bird();
  b.fly();
}

Beklenen çıktı

Uçuyor

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Bir mixin neden kullanılır?

  • Çalışma hızını artırmak için
  • Sınıfın boyutunu küçültmek için
  • Yapıcıları gizlemek için
  • Davranışı birden çok sınıfta yeniden kullanmak için Doğru cevap

Açıklama: Mixin, davranışı birden çok sınıfta paylaşmanın temiz yoludur.

2 mixin bildirimini tamamla

Soru
class Flyer____ {
  void fly() {
    print('Uçuyor');
  }
}
Cevap
class Flyermixin {
  void fly() {
    print('Uçuyor');
  }
}

Açıklama: mixin anahtar kelimesi mixin bildirimini başlatır.

3 mixin parçalarını eşle

Kavram Anlamı
mixin Anahtar kelime
Flyer Mixin adı
with Uygulama anahtarı

Orta seviye bölümündeki tüm dersler