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();
}

上一篇 下一篇

猜你喜欢

热点阅读