This example illustrates how to use mixins to share behavior between classes.
mixin Logger {
void log(String message) {
print('LOG: $message');
}
}
class User with Logger {
String name;
User(this.name);
void sayHello() {
log('User $name says hello!');
}
}
class Admin with Logger {
String adminName;
Admin(this.adminName);
void performAdminTask() {
log('Admin $adminName is performing an admin task.');
}
}
void main() {
var user = User('Alice');
user.sayHello();
var admin = Admin('Bob');
admin.performAdminTask();
}
Leave a Reply