dart mixin

2018-11-27  本文已影响44人  克罗克达尔

dart mixin出现的目的是什么?

一个类如何直接使用多个父类的能力,而不是继承一个父类,实现多个接口。

dart mixin如何使用?



void main() {

  var ab = AB();
  var ba = BA();

  ab.printMessage();

  ba.printMessage();
}





class A {
  void printMessage() {
    print("print message from A");
  }
}

class B {
  void printMessage() {
    print("print message from B");
  }
}

class P {
  void printMessage() {
    print("print message from P");
  }
}

class AB extends P with A, B {}

class BA extends P with B, A {}

dart mixin详细解释

dart中的mixin类是通过创建一个新类来实现的,该类将mixin的实现层叠在一个超类上以创建一个新类,它不是在超类中,而是在超类的顶部。

dart mixin注意事项

如果一个子类使用了多个mixin类,而且这些mixin类都包含相同的方法,那么在调用子类的实现方法时会调用最后的mixin类的方法。
上图输出的结果是

print message from B
print message from A
上一篇 下一篇

猜你喜欢

热点阅读