Dart 接口类
Dart 没有单独的关键字 interface 来定义接口,普通用 class 声明的类就可以是接口,可以通过关键字 implements来实现一个或多个接口并实现每个接口定义的 API。推荐使用 abstract 抽象类来定义接口。
需要注意的是 :
子类在实现接口类时,必须重写接口类内的所有属性和方法。
abstract class Animal {
late String name;
late int age;
void Say();
}
abstract class CanEat {
void Eat();
}
class Dog implements Animal, CanEat {
@override
int age;
@override
String name;
late String type;
Dog(this.name, this.age, this.type);
@override
void Eat() {
print("I am eating.");
}
@override
void Say() {
print("My name is ${this.name}.");
print("I am ${this.age} years old.");
print("My type is ${this.type}.");
}
}
void main(List<String> args) {
Dog dog = Dog("wangcai", 2, "dog");
dog.Say();
}