首页 > 其他分享 >Typescript类中extends和implements的作用

Typescript类中extends和implements的作用

时间:2022-09-23 22:45:26浏览次数:84  
标签:implements Typescript string 继承 Dog extends Animal class

在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

标签:implements,Typescript,string,继承,Dog,extends,Animal,class
From: https://www.cnblogs.com/brucefq/p/16724569.html

相关文章

  • Typescript类型体操 - Reverse
    题目中文实现类型版本的数组反转Array.reverse例如:typea=Reverse<['a','b']>;//['b','a']typeb=Reverse<['a','b','c']>;//['c','b','a']English......
  • Typescript类型体操 - TupleToNestedObject
    题目中文给定一个只包含字符串类型的元组类型T和一个类型U,递归地构建一个对象.EnglishGivenatupletypeTthatonlycontainsstringtype,andatypeU,build......
  • Typescript类型体操 - ObjectEntries
    题目中文实现Object.entries的类型版本示例:interfaceModel{name:string;age:number;locations:string[]|null;}typemodelEntries=Objec......
  • TypeScript在vue3中的应用(Ref和ComputedRef的应用)
    首先,我承认,我vue3和ts都不是很熟。然后在使用过程中就发现了这样一个情况。constlist:{isBoob:boolean;count:number;}[]=computed(()=>{letarr:number[]......
  • Typescript学习之路(2) - 类型简述
    什么是强类型语言/弱类型语言?强类型语言老式定义:在强类型语言中,当一个对象从调用函数传递到被调用函数时,其类型必须与被调用函数中声明的类型兼容。A(){B(x)}B......
  • Typescript学习之路(3) - 基础数据类型介绍
    安装TSnpmi-gtypescriptTips:因为使用的命令是tsc,这里安装的时候好多人都错误写成了 npmi-gtsc❎,结果在使用的时候就会被提示,安装的不对,要重新安装。TS转换JS......
  • 第一章:TypeScript快速入门
    一、TypeScript开发环境搭建1、TypeScript有什么用编译时的强类型模块化已有的类库可以很方便的使用2、下载Node.jsnode.js官网:Node.js(nodejs.org)......
  • Typescript类型体操 - Mutable
    题目中文实现一个通用的类型Mutable<T>,使类型T的全部属性可变(非只读)。例如:interfaceTodo{readonlytitle:string;readonlydescription:string;......
  • TypeScript 函数重载
    函数参数的类型可以使用联合类型?,让我们传递的值可以有多种类型的情况。下面是写的一个简单函数,参数x可以有number、string两种类型,返回值也是。functionreverse(x:......
  • Typescript类型体操 - PartialRequired
    题目中文实现一个通用的RequiredByKeys<T,K>,它接收两个类型参数T和K。K指定应设为必选的T的属性集。当没有提供K时,它就和普通的Required<T>一样使所有的属性成为必选的......