乐闻世界logo
搜索文章和话题

Does Dart has a syntax for declaring interfaces?

2 个月前提问
2 个月前修改
浏览次数16

1个答案

1

在 Dart 中,没有专门的关键字来声明接口,但是每一个类都隐式地定义了一个接口。这意味着您可以使用任何类作为接口,其他类可以实现这个接口。这在 Dart 中是通过关键字 implements 实现的。此外,如果只是想拥有类的部分行为,还可以使用 abstract 类来定义一个或多个未实现的方法,让其他类来实现这些方法。

示例

假设我们想要一个接口 Vehicle,它需要有 drive 方法:

dart
// 这是一个抽象类,但在 Dart 中它也定义了一个 Vehicle 接口 abstract class Vehicle { void drive(); } // 这是一个实现了 Vehicle 接口的类 class Car implements Vehicle { void drive() { print('车正在行驶'); } } // 这是另一个实现了 Vehicle 接口的类 class Bicycle implements Vehicle { void drive() { print('自行车正在骑行'); } } void main() { var car = Car(); car.drive(); // 输出:车正在行驶 var bike = Bicycle(); bike.drive(); // 输出:自行车正在骑行 }

在这个示例中,我们定义了一个抽象类 Vehicle,它要求任何实现它的类都必须拥有 drive 方法。然后我们创建了两个类 CarBicycle,它们都实现了 Vehicle 接口,并提供了自己的 drive 方法的实现。在 Dart 中这是面向接口编程的典型方式。

2024年7月18日 20:16 回复

你的答案