Skip to content
章节导航

在 Flutter 中使用 mixins

Dart 3 之后的 mixins 需要用 mixin 关键字标识

shell
mixin StudyMixin {
  //抽象方法 : 没有方法体的方法称为抽象方法,不需要 abstract 关键字定义
  void study();

  //抽象类中可以包含有方法体的方法
  void study2() {
    print("study2");
  }
}
  • 为类添加特征:mixins
  • mixins 是在多个类层次结构中重用代码的一种方式
  • 要使用 mixins ,在 with 关键字后面跟一个或多个 mixin 的名字(用逗号分开),并且 with 要用在 extends 关键字之后
  • mixins 的特征:实现 mixin ,就创建一个继承 Object 类的子类(不能继承其他类),不声明任何构造方法,不调用 super
shell
class Test extends Person with StudyMixin {
  Test(String name, int age) : super(name, age);

  @override
  void study() {
    study2();
  }
}