dart: mixin

作者: 李小轰 | 来源:发表于2021-09-06 10:54 被阅读0次

最近用到了Mixin,记录一下使用特性:

Mixin可以理解为另辟捷径的多继承实现。与单继承兼容,是继承能力的一种增强工具。

特性1:父类约束

当声明一个 mixin 时, on 后面的类是使用 这个mixin 的父类约束。一个类若是要 with 这个 mixin,则这个类必须继承或实现这个 mixin 的父类约束



需要添加继承父类约束:

class Child extends Super with MyMixin{}
特性2:就远命中原则

当继承多个mixinmixin内重写覆盖了同一个方法,则调用方法时会命中最后withmixin对方方法。

class Super {
  void log() {
    print("super.log");
  }
}

mixin MyMixin on Super {
  void log() {
    print("MyMixin.log");
  }
}

mixin MyMixin2 on Super {
  void log() {
    print("MyMixin2.log");
  }
}

class Child extends Super with MyMixin, MyMixin2 {}

void main() {
  new Child().log();
}

打印结果为:
MyMixin2.log

相关文章

  • Dart 基础(四)

    级别: ★☆☆☆☆标签:「Flutter 」「Dart」「Dart class」「Dart mixin」「Dar...

  • Dart Mixin

    关于Dart Mixin 的一些理解 Mixin are a way of reusing code in mul...

  • Flutter - Dart语法基础及mixin

    一文了解Dart语法 我了解Dart语法就是参照上面链接文章 重点理解mixin mixin,翻译过来就是混入,个...

  • Dart mixin继承机制

    Mix:混合In: 进入,加入Mixin: 混入 mixin 声明 属于dart 2.1 加入的特性。以前版本通常...

  • dart mixin

    dart mixin出现的目的是什么? 一个类如何直接使用多个父类的能力,而不是继承一个父类,实现多个接口。 da...

  • dart: mixin

    最近用到了Mixin,记录一下使用特性: Mixin可以理解为另辟捷径的多继承实现。与单继承兼容,是继承能力的一种...

  • 09Dart语言基础-继承与多态

    1.继承 main.dart person.dart student.dart 2.抽象类与接口 3.Mixin混...

  • (六)Dart Classes(类)、Constructors(

    一、Object(对象) Dart 是一个面向对象编程语言。 Dart支持基于 mixin 的继承机制(多继承)。...

  • Dart简介3--mixin

    说明 Dart 是不支持多继承的,但是它支持 mixin,简单来讲 mixin 可以 “组合” 多个类,这样就极大...

  • Dart中Class、mixin、interface三者间关系及

    Dart中Class、mixin、interface三者间关系及异同 Class Dart中一切皆为对象,而每个对...

网友评论

    本文标题:dart: mixin

    本文链接:https://www.haomeiwen.com/subject/ygjewltx.html