Typescript类中extends和implements的作用

在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的类中是表示继承的作用,但是在泛型中却不是代表继承。具体代表什么可以参考这篇文章:https://www.cnblogs.com/brucefq/p/16643340.html

posted @   闯入码途的水产人  阅读(2247)  评论(1编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示