面向对象少不了要了解继承,我们这里来看怎么在ts里去实现继承。
定义一个公共类,称为父类
- 将多个类中共有的属性和方法写在父类中
- 使用继承后,子类将拥有父类的属性和方法
class Animal{
name:string;
age:number;
constructor(name:string,age:number){
this.name = name
this.age = age
}
say(){
console.log('wangwang')
}
}
关键字extends 实现继承
- 如果子类需要增加自己的方法, 直接在子类中加即可。
- 如果子类方法的名字和父类方法的名字一样,会使用子类的方法,称之为重写。
- 在子类的方法中,super就表示类的父类
- 在子类的构造函数中,必须通过super() 来调用父级的构造函数
class Dog extends Animal {
height:number;
constructor(name:string,age:number,height:number){
super(name,age) // 调用父级的构造函数
this.height = height
}
say2(){
super.say()
}
run(){
console.log('I am running...')
}
}
总结:
- 通过class 定义父类
- 通过extends定义子类继承
- 继承的类要调用super