Flutter中extends/implements/with的区别

extends就是常见类继承;
implements是实现,一般来说后面是协议/代理性质的类,需要在代码中实现对应的方法;
with是插入(mixin)的使用,后面的类不能有构建函数,主要是功能的实现,有点类似于多继承的概念;一般用来实现公用的具体功能,实现后多个类都可以使用

需要注意的是,implements都是在当前类中实现函数,extends可以使用当前类或父类的函数,而with一般是使用插入类的函数,当他们同时实现了同名函数时,实际调用优先级为:
当前类实现 > 插入类实现 > 父类实现

其中多个插入类时,顺序从后往前,即最后with的插入类实现最优先。

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

推荐阅读更多精彩内容