在 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
方法。然后我们创建了两个类 Car
和 Bicycle
,它们都实现了 Vehicle
接口,并提供了自己的 drive
方法的实现。在 Dart 中这是面向接口编程的典型方式。
2024年7月18日 20:16 回复