例子
abstract class Animal{
name:string;
constructor(name:string){
this.name = name;
}
abstract sayName():void;
}
class Dog extends Animal{
age:number;
constructor(name:string,age:number){
super(name);
this.age = age;
}
sayName(): void {
console.log(`我是${this.name},我今年${this.age}岁了`);
}
}
const dog = new Dog("旺财",23)
dog.sayName() // 我是旺财,我今年23岁了
abstract
我们用abstract关键字来定义抽象类和抽象方法
抽象类
- 抽象类不能用来创建对象
- 抽象类只能用于继承(说明类中有哪些属性,哪些方法)
- 在抽象类中可以添加抽象方法(如
sayName
方法)
抽象方法
- 抽象方法没有方法体(如
sayName
方法),且只能定义在抽象类中 - 子类必须对于抽象类中的抽象方法进行复写