一个类实现多个接口
1、作为mixins的类只能继承自object,不能继承自其他类
2、作为mixins的类不能有构造函数
多借口继承
abstract class A{
String name; printA(); } abstract class B{ printB(); } class C implements A,B{ @override String name; @override printA(){ print('A'); } printB(){ print('B'); } } main(){} C c = new C(); c.printA(); }
在dart中可以使用mixins实现类似多继承的功能,mixins不是继承,也不是接口
class A{ String fanren = '烦人'; void printA(){ print('A'); } } class B{ void printB(){ print('B'); } } class C with A,B{ //C便具有A,B中所有方法 var c = new C(); c.printA(); print(c.fanren); } //mixins的类只能继承自object,不能继承其他类(如果以上A继承了其他类,那么C便不能再继承A。A、B中没办法有mixins,那样的话就没办法进行mixins)
class Person{ String name; num age; Person(this.name, this.age); print(){ print('$(this.name)'); } } class A{ string info = "this is A"; void printA(){ print('A'); } } class B{ void printB(){ print('B'); } } class C extends Person with A,B{ C(String name, num age):super(name,age); }
//如果A,B 中有同样的方法,则根据继承的顺序,最终B的方法会覆盖掉A