在ES6中,类的继承可以通过extends实现。
class Animal {
name;
sayHello(){}
}
class Dog extends Animal {}
//
const dog = new Dog();
// 在Dog的实例dog中也会存在name属性和sayHello方法,因为Dog继承自Animal类
在TS的类中,extends同样也是用于类的继承:
class Animal {
name: string = '';
sayHello() {
}
}
class Dog extends Animal {}
const dog:Dog = new Dog();
// 和ES6中类似,在Dog的实例dog中也会存在name属性和sayHello方法,因为Dog继承自Animal类
在TS类中,类除了可以继承父类还可以继承接口,也叫实现接口,通过关键字implements来实现。
interface Animal {
food: string
eat(food: string): void
}
// Cat类实现Animal接口的时候需要能够兼容Animal接口才行,否则会报错。
class Cat implements Animal {
food: string = 'fish';
eat(food: string): void {
}
}
//
const cat: Cat = new Cat();
温馨提示:extends在TS的类中是表示继承的作用,但是在泛型中却不是代表继承。具体代表什么可以参考这篇文章:juejin.cn/post/713831…