Sobes.tech
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.