我想了解 extends,implements和 with之间的区别。我什么时候使用每个关键字?
extends
implements
with
延伸:
使用扩展创建子类,使用 super 引用超类。
Extends是典型的 哦类继承。如果类 一扩展了类 B的所有属性、变量、在类 B中实现的函数也可以在类 一中使用。此外,你可以覆盖函数等。
Extends
如果要创建类的更具体版本,可以使用 extend。例如,类 车可以扩展类 车辆。在 Dart 中,一个类只能扩展一个类。
extend
工具:
每个类都隐式地定义一个接口,该接口包含该类及其实现的任何接口的所有实例成员。如果您想创建一个类 A,它支持类 B 的 API,而不继承 B 的实现,那么类 A 应该实现 B 接口。
如果您想创建自己的另一个类或接口的实现,可以使用 Implements。当类 一实现类 B时。类 B中定义的所有函数都必须实现。
Implements
实现另一个类时,不会从该类继承代码。您只能继承该类型。在 Dart 中,可以将 implements关键字用于多个类或接口。
配合(混音) :
混合是在多个类层次结构中重用类代码的一种方法。
With用于包含 Mixins。Mixin 是一种不同类型的结构,只能与关键字 with一起使用。
With
它们在 Flutter 中被用来包含常见的代码片段。
extend当时只能用于一个类,但是... 你可以很容易地扩展一个类,它扩展了另一个类,它扩展了另一个类... !;)
事实上,大多数 Flutter 小部件都是这样构建的。