Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗dtOpFPMn 107 of 113 menu
◀ ▶

Практика на mixin в Dart

Восемь задач на повторное использование поведения через mixin без дублирования кода в классе работника.

Объявите mixin Helper с методом emit(), который выводит "ok". Класс Employee подключите через with Helper и вызовите emit() у созданного объекта.

Сделайте mixin Helper1 с методом dept() и mixin Helper2 с методом rank(). Класс Employee хранит department и level, подключает оба mixin и возвращает их значения из методов mixin.

Подключите к Employee три mixin: Helper, Helper1, Helper2 с методами a(), b(), c(), возвращающими 4, 5 и 6. Добавьте метод total() с суммой трех чисел.

Дан следующий код:

mixin Helper1 { void ping() { print("alpha"); } } mixin Helper2 { void ping() { print("beta"); } } class Employee with Helper1, Helper2 {}

Создадим объект и вызовем метод:

var emp = Employee(); emp.ping();

Запишите, что напечатает запуск. Поменяйте порядок mixin в объявлении класса и сравните вывод.

Mixin Helper выводит "base". Класс Employee с полем name переопределяет метод mixin, вызывает super и печатает имя на следующей строке.

Класс Employee хранит salary. Объявите mixin Helper on Employee с методом showSalary() и подключите mixin в подклассе Manager. Выведите зарплату.

Дан следующий код:

mixin TestTrait { int seed() { return 100; } int bonus(); } class Employee with TestTrait { @override int bonus() { return 7; } }

Выведите сумму seed() и bonus(). Удалите реализацию bonus и убедитесь, что анализатор сообщает об ошибке.

Объявите mixin class Helper с методом mark(). Подключите его к Employee, создайте отдельный объект Helper и вызовите mark() у обоих получателей.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить