面试题答案
一键面试extends
关键字在类继承时的作用
在TypeScript中,extends
关键字用于实现类的继承。通过使用extends
,一个类(子类)可以继承另一个类(父类)的属性和方法。这允许代码重用,同时也有助于建立类型层次结构,使得子类具有与父类相似的结构和行为,并且可以在此基础上进行扩展。
示例
// 定义父类
class Animal {
name: string;
constructor(name: string) {
this.name = name;
}
speak() {
console.log(`${this.name} makes a sound.`);
}
}
// 定义子类,继承自Animal
class Dog extends Animal {
breed: string;
constructor(name: string, breed: string) {
super(name);
this.breed = breed;
}
bark() {
console.log(`${this.name} barks.`);
}
}
// 创建Dog类的实例
let myDog = new Dog('Buddy', 'Golden Retriever');
myDog.speak(); // 调用从父类继承的方法
myDog.bark(); // 调用子类独有的方法
console.log(myDog.breed); // 访问子类独有的属性
在上述代码中,Dog
类通过extends
关键字继承了Animal
类。Dog
类不仅拥有Animal
类的name
属性和speak
方法,还添加了自己独有的breed
属性和bark
方法。在Dog
类的构造函数中,使用super
关键字调用了父类的构造函数,以初始化从父类继承的属性。