MST

星途 面试题库

面试题:TypeScript中extends关键字在继承方面的应用

请解释TypeScript中extends关键字在类继承时的作用,并举例说明如何使用它实现一个简单的继承结构,其中子类继承父类的属性和方法,同时添加自己独有的属性和方法。
16.7万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试

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关键字调用了父类的构造函数,以初始化从父类继承的属性。