介绍
抽象类(abstract class)在某种程度上和接口类似,可以用于约束子类的成员。但是抽象类可以包含具体的实现,接口只是对成员的抽象。一般比较大的类目推荐使用抽象类。
abstract class Animal {
eat(food: string): void { // 抽象类可以包含具体的实现,接口不包含具体实现
console.log('动物吃' + food);
}
// 抽象方法--也不需要具体的实现(方法体)
abstract run(distance: number): void
}
// abstract class只能被继承,不能通过new来创建实例对象
// Dog不会实现继承自“Animal”类的抽象成员“run”。当父类中有某个抽象方法时,子类必须实现这一个方法。
class Dog extends Animal {
run(distance: number): void {
console.log('Dog run' + distance);
}
}
网友评论