Dart 编程中的抽象类

Dart 中的抽象类是包含一个或多个抽象方法的类。

注意:抽象方法是那些没有任何实现的方法。

还应该注意的是,Dart 中的类可以使用“abstract”关键字后跟类声明来声明为抽象类。使用 abstract 关键字声明的类可能包含也可能包含抽象方法。

抽象类可以同时具有 抽象方法 具体方法 (具有实现的方法)。但是,相反,普通类(非抽象类)不能有抽象方法。

抽象类主要用于为子类提供基础,以扩展和实现抽象类中存在的抽象方法。

语法

抽象类是通过编写abstract关键字后跟类声明来定义的。

abstract class ClassName {
   // 抽象类的主体
}

示例

abstract class Employee{
   void showEmployeeInformation();
}

class Teacher extends Employee{
   @override
   void showEmployeeInformation(){
      print("I'm a teacher");
   }
}

class Principal extends Employee{
   @override
   void showEmployeeInformation(){
      print("I'm the principal.");
   }
}

void main(){
   Teacher teacher = new Teacher();
   Principal principal = new Principal();
   teacher.showEmployeeInformation();
   principal.showEmployeeInformation();
}

在上面的例子中,我们有一个Employee showEmployeeInformation() 类,它有一个方法,然后它有两个子类Teacher 和 Principal。由于很明显每个员工的信息都会与其他员工不同,因此在超类中实现该方法没有意义,因此我们保持抽象。

输出结果

I'm a teacher
I'm the principal.