Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
В ходе разработки вполне может возникнуть ситуация, когда функционал какой-то из примесей не должен быть общедоступен для включения всеми классами.
Сходу не могу представить ситуацию, когда надо было бы запрещать использование примеси в любых классах. Мне здесь более полезной кажется возможность использовать методы базового класса в примеси:
abstract class Animal {
void run() {}
}
mixin SpeedRunner on Animal {
void speedRun() {
run();
run();
}
}
class Ostrich extends Animal with SpeedRunner {}
// Ostrich().speedRun();Сходу не могу представить ситуацию, когда надо было бы запрещать использование примеси в любых классах
При желании мы даже можем вынести в примесь написанное и лишь требовать реализации метода builder с помощью интерфейса
Использование примесей во Flutter приложениях