Dart 接口类

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();
}