TypeScript extends和implements区别

这篇具有很好参考价值的文章主要介绍了TypeScript extends和implements区别。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

(被人理解是幸运的,但不被理解未必不幸。一个把自己的价值完全寄托于他人的理解上面的人往往并无价值。——周国平)

TypeScript extends和implements区别

extends

相关文章

implements

implements是一个类实现一个接口用的关键字.实现一个接口,必须实现接口中的所有方法。

比如以下代码,定以了抽象类AbstractAnimal,然后Dog和Cat分别实现AbstractAnimal,Mouse继承AbstractAnimal,Pig继承AbstractAnimal并实现Dog, Cat。

abstract class AbstractAnimal {
  nickname = '动物';
  getData () {
    console.log('AbstractAnimal');
  };

  static staticNickname = '静态动物';
  static staticGetData () {
    console.log('staticGetData');
  }
}


class Dog implements AbstractAnimal {
  nickname: string;
  getData () {
    console.log('dog');
  }
}

class Cat implements AbstractAnimal {
  nickname: string;
  getData () {
    console.log('cat');
  }
  getSelfData () {
    console.log('get cat data');
  }
}

class Mouse extends AbstractAnimal { }

class Pig extends AbstractAnimal implements Dog, Cat {
  getSelfData (): void {
    throw new Error("Method not implemented.");
  }
}

我们也可以定义interface接口来进行多实现文章来源地址https://www.toymoban.com/news/detail-443391.html

interface IAnimal {
  nickname: string;
  getData ();
}


class Dog implements IAnimal {
  nickname: string;
  getData () {
    console.log('dog');
  }
}

class Cat implements IAnimal {
  nickname: string;
  getData () {
    console.log('cat');
  }
}


extends和implements的区别

  1. extends是继承类,implements是实现接口
  2. 类只能继承一个,接口可以实现多个
  3. extends继承父类的时候可以重写父类的方法,也可以调用父类的非私有方法;implements实现接口,必须实现接口的所有方法。
  4. extends后面跟的是类,表示继承关系
  5. implements后面跟的是接口,表示实现接口(可以是多个)
  6. 继承这个可以理解为继承父类的方法,父类中的方法可以在子类中用到
  7. 实现接口就是在接口中定义了方法,这个方法要你自己去实现,接口可以看作一个标准,用来统一业务接口规范

interface和implements的区别

  1. 抽象类可以提供成员方法的实现细节,而接口中只能存在public abstract (隐式声明)方法
  2. 抽象类中的成员变量和方法可以编写实现代码,而接口中的只能声明变量和方法
  3. 接口中不能含有静态代码块以及静态方法,而抽象类可以有静态代码块和静态方法
  4. 一个类只能继承一个抽象类,而一个类却可以实现多个接口

到了这里,关于TypeScript extends和implements区别的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 对TS里接口、extends和类的理解

    . 前几天一个月薪35k的兄弟,给我推了一个人工智能学习网站,看了一段时间挺有意思的。包括语音识别、机器翻译等从基础到实战都有,很详细,分享给大家。大家及时保存,说不定啥时候就没了。 . 需求: 创建人的对象, 需要 对人的属性进行一定的约束 下面通过一个简单

    2024年02月09日
    浏览(36)
  • 【CMU 15-445】Extendible Hash Table 可扩展哈希详细理解

    最近在学习CMU的15-445 DB课程,在做Project1的Extendible Hash Table的时候,由于是先看了课程,过了一个多星期才做的Lab,对extendible hash table只能说是知道大体的意思,并没有透彻的了解它,尤其是bucket指针和数据重分配这一部分,涉及到比较tricky的位运算,在一知半解的情况下实

    2024年02月09日
    浏览(33)
  • Gradle 模块依赖中,使用 implementation 与 api 的区别

    api :使用 api 声明的依赖项表示该模块将向依赖自己的模块公开自己依赖的 API。这意味着其他模块可以使用该依赖项提供的所有公共类和方法,以及该依赖项的传递依赖项提供的所有公共类和方法。当需要在本模块和依赖它的其他模块之间共享代码时,可以使

    2024年02月02日
    浏览(37)
  • Xilinx Vivado的RTL分析(RTL analysis)、综合(synthesis)和实现(implementation)的区别?

            Xilinx 的开发工具Vivado其实还是比较好上手的,在左边的设计流程导航已经把FPGA的开发过程按先后顺序给排列出来了: Project Manager:项目管理器,此项是对项目的参数进行设置 IP Integrator:IP集成器,此项是对IP的操作 Simulation:仿真,包括功能仿真、综合后仿真和

    2024年02月03日
    浏览(37)
  • TypeScript -类型断言的简单理解

    类型断言 : 是手动的给某个变量 指定类型,从而可以方便操作该类型的属性和方法。 方式一 : 变量名 as 类型 方式二 :类型 变量名 注意 : 1、类型断言只是为了方便明确变量的类型,而不是将变量的类型进行改变!!! 2、因此,类型断言在使用的时候,建议 在我们已

    2024年02月08日
    浏览(38)
  • 【TypeScript】接口类型 Interfaces 的使用理解

    导语 : 什么是 类型接口 ? 在面向对象语言中 ,接口 (Interfaces) 是一个很重要的概念,它是对行为的抽象,而具体如何行动需要由类(classes)去实现(implement)。TypeScript 中的 类型接口 是一个非常灵活的概念,除了可用于 对类的一部分行为进行抽象 以外,也常用于对「

    2024年02月15日
    浏览(52)
  • C++与Typescript的区别

    目录 一、C++类模板和函数模板 1.类模板 2.函数模板 二,Typescript 的泛型声明 1.泛型函数 2.泛型类 为什么C++和Typescript语言中主张模板和泛型 在C++中,类模板和函数模板允许你为多种数据类型编写通用的代码。这就像每个人都有鼻子,耳朵,眼镜。但是有些人整合在一起就是帅

    2024年01月21日
    浏览(38)
  • 一文了解JavaScript 与 TypeScript的区别

    TypeScript 和 JavaScript 是两种互补的技术,共同推动前端和后端开发。在本文中,我们将带您快速了解JavaScript 与 TypeScript的区别。   一、TypeScript 和 JavaScript 之间的区别 JavaScript 和 TypeScript 看起来非常相似,但有一个重要的区别。 JavaScript 和 TypeScript 之间的主要区别在于 JavaS

    2024年02月14日
    浏览(51)
  • typescript中type、interface的区别

    一、概念定义  interface:接口 在TS 中主要用于定义【对象类型】,可以对【对象】的形状进行描述。 type :类型别名 为类型创建一个新名称,它并不是一个类型,只是一个别名。 二,区别 interface: interface 用来定义一个类结构,可以声明多个 使用interface声明,可以被继承扩

    2024年02月08日
    浏览(32)
  • 【TypeScript】中定义与使用 Class 类的解读理解

    类是用于创建对象的模板。他们用代码封装数据以处理该数据。JavaScript 中的类建立在原型上,但也具有某些语法和语义未与 ES5 类相似语义共享。 TypeScript 除了实现了所有 ES6 中的类的功能以外,还添加了一些新的用法。 关于 ES6的 Class 类语法概念 ,在本章节不做过多阐述,

    2024年02月14日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包