Dart 中的抽象类:

    1. `Dart` 抽象类主要用于定义标准, 子类可以继承抽象类,也可以实现抽象类接口。
    1. 抽象类通过 abstract 关键字来定义。
    2. Dart中的抽象方法不能用 abstract 声明, Dart 中没有方法体的方法我们称为抽象方法。
    3. 如果子类继承抽象类必须得实现里面的抽象方法
    4. 抽象类不能被实例化,只有继承它的子类才可以。

      extendsimplements的区别:

    5. 如果要复用抽象类里面的方法,并且要用抽象方法约束子类的话,我们就使用 extends继承抽象类。

    6. 如果只是把抽象类当作标准的话,我们就使用implements实现抽象类。

    案例: 定义一个类,必须有 我们指定的方法, 例如 eat 方法:

    1. // abstract 关键字 表示 该类是一个抽象类。
    2. abstract class Animal {
    3. eat(); // 抽象方法
    4. }
    5. // Cat 类
    6. import 'Animal.dart';
    7. class Cat extends Animal{
    8. @override
    9. eat() {
    10. print('我是猫,我在吃东西');
    11. }
    12. }
    13. // Dog 类
    14. import 'Animal.dart';
    15. class Dog extends Animal {
    16. @override
    17. eat() {
    18. print('我是狗, 我也在吃东西');
    19. }
    20. }
    21. import 'lib/Cat.dart';
    22. import 'lib/Dog.dart';
    23. void main() {
    24. Cat cat = new Cat();
    25. cat.eat();
    26. Dog dog = new Dog();
    27. dog.eat();
    28. }