Sobes.tech
Junior — Middle

Care este scopul conceptului de mixin în programarea orientată pe obiecte?

sobes.tech AI

Răspuns de la AI

Mixin — este o modalitate de reutilizare a codului în programarea orientată pe obiect, care permite adăugarea de funcționalități la o clasă fără a folosi moștenirea.

Scopul principal al mixin-ului este de a extinde o clasă cu metode și proprietăți suplimentare, fără a crea o ierarhie profundă de moștenire. Acest lucru este deosebit de util atunci când trebuie să adaugi capacități comune diferitelor clase.

În Dart (și Flutter), un mixin este declarat cu cuvântul cheie mixin și aplicat claselor prin cuvântul cheie with.

Exemplu:

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('Utilizator creat'); // Folosim metoda din mixin
}

Astfel, mixin-ul permite adăugarea de funcționalități fără a fi nevoie să moștenești de la o clasă de bază.