Sobes.tech
Back to questions
Junior — Middle
122

Можете объяснить концепцию миксинов в языке Dart и их применение?

Companies where asked
AndersenAndersen
Pashapay
HamkorBank
ЯндексЯндекс

Answer from AI

sobes.tech AI

В языке Dart миксины — это способ повторного использования кода в нескольких классах без необходимости наследования от общего базового класса.

Миксин — это класс, который можно "вмешать" (mix in) в другой класс, добавляя ему методы и свойства.

Пример использования миксина:

mixin Logger {
  void log(String message) {
    print('Log: $message');
  }
}

class Person {
  String name;
  Person(this.name);
}

class Employee extends Person with Logger {
  Employee(String name) : super(name);

  void work() {
    log('$name is working');
  }
}

void main() {
  var emp = Employee('Alice');
  emp.work(); // Выведет: Log: Alice is working
}

Здесь Logger — миксин, который добавляет метод log в класс Employee. Это позволяет избежать дублирования кода и гибко комбинировать функциональность.