Flutter圈子Flutter中文社区

Mixin理解

2020-01-06  本文已影响0人  sssong_2017

在学习Flutter过程中,dart语言中的关键字Mixin是个新概念,本文列出两个例子,希望读者可以秒懂。
有Mixin A,B, C
类X使用关键字with来继承Mixin里的方法或者属性

Mixin A {}
Mixin B {}
Mixin C {}
Class X  with A, B, C {}

等同于:

Class XA = X with A ;
Class XAB = (X with A) with B = XA with B;
Class XABC = ((X with A) with B) with C = XAB with C;

继承关系如下:


image

再比如

 Class X extends S with A, B, C {}

等同于:

Class SA = S with A;
Class SAB =  SA with B;
Class SABC =  SAB with C;
Class X extends SABC {}

继承关系:


image

另外对于关键字on的理解

Mixin A on X {}

意思可以理解为作用域, 也就是指Mixin A 只能被X或者X的子类或者X的实现类去with

上一篇下一篇

猜你喜欢

热点阅读