Dart 编程的抽象类
Dart 中的抽象类是包含一个或多个抽象方法的类。
注意:抽象方法是没有实现的方法。
还需要注意的是,Dart 中的类可以使用“abstract”关键字后跟类声明来声明为 abstract。使用 abstract 关键字声明的类可以包括抽象方法,也可以不包括。
允许抽象类同时具有**抽象方法**和**具体方法**(具有实现的方法)。不过,相反地,普通类(非抽象类)不能有抽象方法。
抽象类主要用于为子类提供一个基础,以便扩展和实现抽象类中存在的抽象方法。
语法
通过编写 abstract 关键字后跟类声明来定义抽象类。
abstract class ClassName { // body of abstract class }
示例
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.
广告