继承 (extends)
与java相比:
- 都是单继承
- 构造函数不能继承
- 子类重写父类的方法需要加关键字 @override
- 子类调用父类的方法,要用 super
- 子类不能访问父类私有的方法和属性,(flutter中使用 “_” 表示该方法或属性为私有,不存在public,private等关键字)
实现 ( implements)
- flutter中没有接口(interface)这种定义
- 每个类都可以被当做接口
mixin(with)
mixin的加入就是为了解决单继承的问题。那mixin和extends都有哪些区别?
- with后可以接多个类
- 被mixin指定的类不可以有构造方法,因为混入多个父类,父类的多个构造函数会产生混乱
- 可以直接用mixin 指定一个类为mixin类
- mixin了多个类,同名方法执行取后mixin的类
三者可同时存在,但是有先后顺序。
extends -> with -> implements

本文深入探讨了Flutter中的继承(extends)与实现(implements)机制,对比Java的单继承特性,详细讲解了构造函数、方法重写、父类访问限制等关键概念。同时,介绍了mixin如何解决单继承限制,及其与extends的区别。
373

被折叠的 条评论
为什么被折叠?



