在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
MixinsMixins(混入功能)相当于多继承,也就是说可以继承多个类,使用with关键字来实现Mixins的功能。 那么多个类中有相同的方法时候,会被覆盖吗?覆盖的先后是什么? class A{ void a(){ print("A.a()..."); } } class B{ void a(){ print("B.a()..."); } void b(){ print("B.b()..."); } } 现在新建一个类D,使得D继承A和B // 类D 继承A和B class D extends A with B{ } 执行: void main() { var d = new D(); d.a(); } 输出: B.a()...
如果我们改变A 和B 顺序,如下 // 类D 继承A和B,B在前A在后 class D extends B with A{ } 再次执行 void main() { var d = new D(); d.a(); } 输出: A.a()...
说明了:后面的类中的方法将前面的类中相同的方法覆盖 我们再验证三个类的情况: 新建类 C class C{ void a(){ print("C.a()..."); } void b(){ print("C.b()..."); } void c(){ print("C.c()..."); } }
修改类D // 类D 继承A、B、C,A,C在前 ,B在最后 class D extends A with C,B{ } 再次执行 void main() {
var d = new D();
d.a();
}
输出: B.a()... 再次说明:后面的类中的方法将前面的类中相同的方法覆盖。 综上,Dart中使用Mixins,可以达到多继承的效果,后面的类中的方法将前面的类中相同的方法覆盖
Dart学习系列文章:https://www.cnblogs.com/jukaiit/category/1636484.html
|
请发表评论