Flutter中extends/implements/with的
2024-03-20 本文已影响0人
移动开发_ziank
extends就是常见类继承;
implements是实现,一般来说后面是协议/代理性质的类,需要在代码中实现对应的方法;
with是插入(mixin)的使用,后面的类不能有构建函数,主要是功能的实现,有点类似于多继承的概念;一般用来实现公用的具体功能,实现后多个类都可以使用
需要注意的是,implements都是在当前类中实现函数,extends可以使用当前类或父类的函数,而with一般是使用插入类的函数,当他们同时实现了同名函数时,实际调用优先级为:
当前类实现 > 插入类实现 > 父类实现
其中多个插入类时,顺序从后往前,即最后with的插入类实现最优先。