1、extends 声明类的继承关系
class Person
- 构造器函数
constructor
- Employee 继承 Person 属性和方法
- new 关键字 Employee 实例, 赋值给变量e1
- 通过实例调用Person类中eat方法
class Person {
constructor(public name: string) {
this.name = name
}
eat(){
console.log(this.name)
}
}
// 继承Person类的属性和方法
class Employee extends Person{
}
let e1 = new Employee('yaoyao')
e1.eat() // yaoyao
2、super 调用父类的构造函数和方法
- super(name) 需要传name,否则报错
- 调用父类
(Person2)
的 constructor 构造函数- 调用父类的其他方法
// super
class Person2 {
name: string;
constructor(name) {
console.log("haha")
}
eat(){
console.log("I’m eatting")
}
}
class Boss extends Person2{
constructor(name: string, public age: number){
super(name);
console.log("xixi")
this.age = age
}
work(){
super.eat()
this.doWork()
}
private doWork(){
console.log("I’m working")
}
}
let b1 = new Boss('yun', 18)
b1.work()
打印结果:
// haha
// xixi
// I’m eatting
// I’m working