Mixin သည် class များစွာမှာ reusable behavior ထပ်ထည့်ရန်သုံးပါတယ်။ Dart မှာ class တစ်ခုက parent class တစ်ခုသာ extends လုပ်နိုင်ပေမယ့် mixin များစွာကို with နဲ့ထည့်နိုင်ပါတယ်။
dart
mixin Logger {
void log(String message) {
print('[LOG] $message');
}
}
mixin Shareable {
void share(String url) {
print('Sharing: $url');
}
}
class BlogPost with Logger, Shareable {
final String title;
BlogPost(this.title);
}
void main() {
final post = BlogPost('Learn Dart');
post.log('Post opened');
post.share('https://thutatech.com');
}BlogPost class က Logger နဲ့ Shareable behavior နှစ်ခုလုံးကိုရယူထားပါတယ်။ Common utility methods တွေကို mixin ထဲထားရင် class များစွာမှာပြန်သုံးလို့ကောင်းပါတယ်။
You should see
[LOG] Post opened Sharing: https://thutatech.com