在Dart中,可以通过使用关键字implements
来实现接口,使用关键字abstract
来定义抽象类。接口是一种约定,定义了类需要实现的方法签名,而抽象类则是一种可以包含实现和未实现方法的类。
以下是一个简单的示例:
// 定义一个接口
abstract class Animal {
void makeSound();
}
// 定义一个抽象类
abstract class Shape {
void calculateArea();
void printName() {
print('Shape');
}
}
// 实现Animal接口
class Dog implements Animal {
@override
void makeSound() {
print('Woof Woof');
}
}
// 继承Shape抽象类
class Circle extends Shape {
double radius;
Circle(this.radius);
@override
void calculateArea() {
double area = 3.14 * radius * radius;
print('Area of circle: $area');
}
}
在上面的示例中,Animal
是一个接口,Shape
是一个抽象类。Dog
类实现了Animal
接口,Circle
类继承了Shape
抽象类并实现了抽象方法calculateArea()
。