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.