关于Flutter minxin 看法

1.minxin 限制必须无初始化,这条规定开始并不理解,后续通过查看minxin 官方的各种用法和对比Object-C上面的协议才豁然开朗,

2.官方也解释就是解决对面向对象的多继承。

3. 所以 可以用于一些可提取(抽象)出来的通用方法和属性,从而切面(横向,或者理解为拥有部分相同特性但是没有太大关联的平级类)编程。

mixin ProtocolClass extends  Object {

   //公共方法

    minxFunction () {

    }

   //不适合继承关系的属性,即上面的第三点描述

    late String name;

    late String otherProperty;

   ...

}


Class BizClass1 extend Object mixin ProtocolClass {

    BizClass1() {

        minxFunction();

       //可以访问到ProtocolClass所有属性和方法

        name = “BizClass1”;

    }

}

Class BizClass2 extend Object mixin ProtocolClass {

     BizClass2() {

        minxFunction();

       //可以访问到ProtocolClass所有属性和方法

        name = “BizClass2”;

    }

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容