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.