美文网首页Flutter
Flutter/Dart mixin类的理解

Flutter/Dart mixin类的理解

作者: 村口阿成 | 来源:发表于2019-07-18 19:35 被阅读0次

mixin是将一些有共同特性的类抽出来共用,把具体的特性封装成一个mixin供其他类使用。本质上是为了减少代码冗余。而implement也能实现这种功能,但是继承自implement的子类需要完全重写父类的所有属性与方法,这就造成了很多不必要的代码冗余。

mixin在使用上有如下特点:

  • mixin在定义时可以使用on关键字指定使用范围
mixin swim on fish {
  //具体实现
}
  • 当多个mixin函数一样时,后一个mixin会覆盖前面一个(线性特征)
class S {
  fun()=>print('A');
}
mixin MA {
  fun()=>print('MA');
}
mixin MB {
  fun()=>print('MB');
}
class A extends S with MA,MB {}
class B extends S with MB,MA {}
======
main() {
A a = A();
a.fun();
B b = B();
b.fun();
}
=====
MB
MA
  • mixin可以实现蕾丝多重继承的功能,但是多重继承中相同函数执行并不会存在父子关系
  • mixin实现了一条继承链,声明的顺序代表了继承的顺序,声明在后面的mixin会最先执行
  • 而最终的子类与该继承链上所有类的类型(runtimeType)都能匹配上,即子类拥有所有mixin类的特性。

相关文章

  • Flutter/Dart mixin类的理解

    mixin是将一些有共同特性的类抽出来共用,把具体的特性封装成一个mixin供其他类使用。本质上是为了减少代码冗余...

  • Dart 基础(四)

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

  • Dart Mixin

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

  • flutter mixin探秘

    flutter mixin探秘 本文是根据flutter v1.9.1版本分析编写。依赖的dart版本是V2.5....

  • Flutter - Dart语法基础及mixin

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

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

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

  • Dart简介3--mixin

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

  • dart系列之:dart类的扩展

    简介 虽然dart中的类只能有一个父类,也就是单继承的,但是dart提供了mixin语法来绕过这样限制。 今天,和...

  • Flutter 代码规范整理

    Dart 语法简介 Flutter是使用Dart语言开发的。Dart语言是基于类的纯面向对象语言。Dart 中的所...

  • 3. Dart多接口对象

    面向对象(接口,多接口) 混入 Dart中可以使用mixin实现类似多继承的功能 作为mixin的类只能继承自Ob...

网友评论

    本文标题:Flutter/Dart mixin类的理解

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