类的继承
class Animal {
name:string;
constructor(name:string){
this.name = name;
}
sayHello(){
console.log(this.name);
}
}
class Dog extends Animal {
sayHello() {
重写父类方法
}
}
new Dog('tom');
类关键字super
继承父类的方法
class Animal {
name:string;
constructor(name:string){
this.name = name;
}
sayHello(){
console.log(this.name);
}
}
class Dog extends Animal {
age:number;
constructor(name: string, age:number){
super()
this.age = age;
}
}
new Dog('tom',12);
抽象类
类名前加abstract为抽象类,不可实例化调用。 抽象类中定义抽象方法,子类调用需要重写。
abstract class Animal {
name:string;
constructor(name:string){
this.name = name;
}
abstract sayHello():void;
}
class Dog extends Animal {
age:number;
constructor(name: string, age:number){
super()
this.age = age;
}
sayHello(){
console.log(this.age); //子类继承抽象类中的抽象方法需重写。
}
}
new Animal('mmm');//报错,抽象类不可实例化;
new Dog('tom', 12);