混入 mixins (关键字 with)
Flutter 使用的是 Dart 支持 Mixin ,而 Mixin 能够更好的解决多继承中容易出现的问题,如:方法优先顺序混乱、参数冲突、类结构变得复杂化等等。
混入的原则是:相同方法被覆盖了,并且 with 后面的会覆盖前面的。
下面代码 一目了然
main(){
print("------main start--------");
D d = new D();
d.a();
d.b();
d.c();
print("------main end--------");
}
class A {
a() {
print("A.a()");
}
}
class B {
a() {
print("B.a()");
}
b() {
print("B.b()");
}
}
class C {
a() {
print("C.a()");
}
b() {
print("C.b()");
}
c() {
print("C.c()");
}
}
class D extends C with B, A {
}
//--------------------打印----------------------------
//------main start--------
//A.a()
//B.b()
//C.c()
//------main end--------
代表性类:WidgetsFlutterBinding 共混入了7个类