2021-03-15 Dart中的多继承
2021-03-15 本文已影响0人
我是小胡胡123
三种类:
class 普通类 (成员方法必须要实现)
mixin 多继承,混入类(不能有构造方法)
abstract class 抽象类 (定义抽象方法)
类继承, 3个关键字:
extends 继承
implements 继承(父类方法必须要实现)
with 多继承(父类不能有构造方法)
约束:
on 约束(继承mixin类的类,必须同时继承约束类)
mixin ClassA {
//专门定义为混入类,可以多继承
method1();
}
abstract class ClassA2 {
method2(); //如果没有加abstract,不是抽象类。方法必须要实现
}
class ClassA4 {}
mixin ClassA3 on ClassA4 {
//添加约束,集成ClassA3的类,也必须集成ClassA4
method3();
}
class ClassA5 {
method4() {
print("12");
}
}
class ClassC implements ClassA5 {
//implements必须要实现父类方法
method4() {
print("12");
}
}
class ClassD extends ClassA5 {
//
}
class ClassB extends ClassA5 with ClassA4, ClassA, ClassA2, ClassA3 {
//with后面可以接抽象类, ClassA4必须要放在ClassA3前面
//多继承的方法一定要实现
method1() {
print("12");
}
//with后面的抽象类,方法也一定要实现
method2() {
print("12");
}
method3() {
print("12");
}
}
void main() {
var b = ClassB();
b.method1();
}