Dart中一个类实现多个接口
abstract class A {
String name;
printA();
}
abstract class B {
printB();
}
class C implements A, B {
@override
String name;
C(this.name);
@override
printA() {
print('printA');
}
@override
printB() {
print('printB');
}
}
void main() {
C c = new C('张三');
c.printA();
c.printB();
}
Dart中的Mixins
[!TIP|style:flat|iconVisibility:hidden] 因为mixins使用条件,随着Dart版本一直在变,这里讲的是Dart2.x中使用mixins的条件
- Mixins的中文意思是混入,就是在类中混入其他功能。
- 在Dart中可以使用Mixins实现类似多继承的功能
- 作为Mixins的类只能继承自Object,不能继承其他类
- 使用关键字with连接一个或多个Mixins
- 作为Mixins的类不能有构造函数
- 一个类可以Mixins多个Mixins类
- Mixins绝不是继承,也不是接口,而是一种全新的特性
class A {
String info = 'this is A';
void printA() {
print('A');
}
}
class B {
void printB() {
print('B');
}
}
class C with A, B {}
void main() {
C c = new C();
c.printA();
c.printB();
print(c.info);
}