Mixin理解

作者: sssong_2017 | 来源:发表于2020-01-06 19:19 被阅读0次

    在学习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

    相关文章

      网友评论

        本文标题:Mixin理解

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