Использование миксинов с ключевым словом «with» в Dart для повторного использования кода

В Dart вы можете использовать ключевое слово withдля реализации примесей, которые позволяют повторно использовать набор методов и свойств в нескольких классах без наследования. Вот несколько методов, которые можно использовать с ключевым словом with, а также примеры кода:

  1. Миксин с одним методом:

    mixin Logger {
    void log(String message) {
    print('Log: $message');
    }
    }
    class MyClass with Logger {
    void performAction() {
    log('Action performed.');
    // Perform some action
    }
    }
    void main() {
    var obj = MyClass();
    obj.performAction();
    }
  2. Миксин с несколькими методами:

    mixin Logger {
    void log(String message) {
    print('Log: $message');
    }
    void logError(String errorMessage) {
    print('Error: $errorMessage');
    }
    }
    class MyClass with Logger {
    void performAction() {
    log('Action performed.');
    logError('Something went wrong.');
    // Perform some action
    }
    }
    void main() {
    var obj = MyClass();
    obj.performAction();
    }
  3. Несколько миксинов:

    mixin Logger {
    void log(String message) {
    print('Log: $message');
    }
    }
    mixin Analytics {
    void trackEvent(String event) {
    print('Event Tracked: $event');
    }
    }
    class MyClass with Logger, Analytics {
    void performAction() {
    log('Action performed.');
    trackEvent('Action performed');
    // Perform some action
    }
    }
    void main() {
    var obj = MyClass();
    obj.performAction();
    }