Skip to content
章节导航

Dart 的抽象类和方法

定义一个抽象类

  • 使用 abstract 修饰符来定义一个抽象类,该类不能被实例化
  • 抽象类 不能创建实例对象,其作用是用于定义接口
  • 抽象类在定义接口的时候非常有用,实际上抽象中也包含一些实现
shell
abstract class Study {
  //抽象方法 : 没有方法体的方法称为抽象方法,不需要abstract关键字定义
  void study();

  //抽象类中可以包含有方法体的方法
  void study2() {
    print("study2");
  }
}

继承

继承抽象类要实现它的抽象方法(没有方法体的方法),否则也需要将自己定义成抽象类

shell
class StudyFlutter extends Study {
  @override
  void study() {
    print('Learning Flutter');
  }
}

通过 implements 关键字来实现一个抽象类

一个类可以通过 implements 关键字来实现一个抽象类,但要实现其所有方法

shell
class StudyDart implements Study {
  @override
  void study() {
    // TODO: implement study
  }

  @override
  void study2() {
    print('StudyDart:study2()');
  }
}