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的条件

  1. Mixins的中文意思是混入,就是在类中混入其他功能。
  2. 在Dart中可以使用Mixins实现类似多继承的功能
  3. 作为Mixins的类只能继承自Object,不能继承其他类
  4. 使用关键字with连接一个或多个Mixins
  5. 作为Mixins的类不能有构造函数
  6. 一个类可以Mixins多个Mixins类
  7. 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);
}

results matching ""

    No results matching ""