Dart
中的抽象类:
`Dart` 抽象类主要用于定义标准, 子类可以继承抽象类,也可以实现抽象类接口。
- 抽象类通过
abstract
关键字来定义。 Dart
中的抽象方法不能用abstract
声明,Dart
中没有方法体的方法我们称为抽象方法。- 如果子类继承抽象类必须得实现里面的抽象方法
抽象类不能被实例化,只有继承它的子类才可以。
extends
和implements
的区别:如果要复用抽象类里面的方法,并且要用抽象方法约束子类的话,我们就使用
extends
继承抽象类。- 如果只是把抽象类当作标准的话,我们就使用
implements
实现抽象类。
案例: 定义一个类,必须有 我们指定的方法, 例如 eat
方法:
// abstract 关键字 表示 该类是一个抽象类。
abstract class Animal {
eat(); // 抽象方法
}
// Cat 类
import 'Animal.dart';
class Cat extends Animal{
@override
eat() {
print('我是猫,我在吃东西');
}
}
// Dog 类
import 'Animal.dart';
class Dog extends Animal {
@override
eat() {
print('我是狗, 我也在吃东西');
}
}
import 'lib/Cat.dart';
import 'lib/Dog.dart';
void main() {
Cat cat = new Cat();
cat.eat();
Dog dog = new Dog();
dog.eat();
}