Junior — Middle
Jaki jest cel koncepcji mixin w programowaniu obiektowym?
sobes.tech AI
Odpowiedź od AI
Mixin to sposób ponownego użycia kodu w programowaniu obiektowym, który pozwala na dodanie funkcjonalności do klasy bez użycia dziedziczenia.
Głównym celem mixinu jest rozszerzenie klasy o dodatkowe metody i właściwości, bez tworzenia głębokiej hierarchii dziedziczenia. Jest to szczególnie przydatne, gdy trzeba dodać wspólne możliwości różnym klasom.
W Dart (i Flutter) mixin jest deklarowany za pomocą słowa kluczowego mixin i stosowany do klas przez słowo kluczowe with.
Przykład:
mixin Logger {
void log(String message) {
print('Log: $message');
}
}
class User with Logger {
String name;
User(this.name);
}
void main() {
var user = User('Alice');
user.log('Użytkownik utworzony'); // Używamy metody z mixinu
}
W ten sposób mixin pozwala na dodanie funkcjonalności bez konieczności dziedziczenia po klasie bazowej.