“扩展”与“实现”与“使用”

我想了解 extendsimplementswith之间的区别。我什么时候使用每个关键字?

34092 次浏览

延伸:

使用扩展创建子类,使用 super 引用超类。

Extends是典型的 类继承。如果类 扩展了类 B的所有属性、变量、在类 B中实现的函数也可以在类 中使用。此外,你可以覆盖函数等。

如果要创建类的更具体版本,可以使用 extend。例如,类 可以扩展类 车辆。在 Dart 中,一个类只能扩展一个类。


工具:

每个类都隐式地定义一个接口,该接口包含该类及其实现的任何接口的所有实例成员。如果您想创建一个类 A,它支持类 B 的 API,而不继承 B 的实现,那么类 A 应该实现 B 接口。

如果您想创建自己的另一个类或接口的实现,可以使用 Implements。当类 实现类 B时。类 B中定义的所有函数都必须实现。

实现另一个类时,不会从该类继承代码。您只能继承该类型。在 Dart 中,可以将 implements关键字用于多个类或接口。


配合(混音) :

混合是在多个类层次结构中重用类代码的一种方法。

With用于包含 Mixins。Mixin 是一种不同类型的结构,只能与关键字 with一起使用。

它们在 Flutter 中被用来包含常见的代码片段。

extend当时只能用于一个类,但是... 你可以很容易地扩展一个类,它扩展了另一个类,它扩展了另一个类... !;)

事实上,大多数 Flutter 小部件都是这样构建的。