TypeScript接口与类的使用
一.TypeScript接口 Interfaces
可以约定一个对象的结构 一个对象去实现一个接口 就必须拥有这个接口中所有的成员用interface定义接口,
并且定义接口中成员的类型 编译之后会发现typeScript中的接口只是对成员做类型约束的
定义string类型的key值和value值接口
二.类的概念
描述一类具体事物的抽象特征,以生活中为例,比如汽车是一个类,比亚迪,宝马,奔驰属于子类,除了有父级的共同特点4个轮胎,
一个方向盘之外,还有自己独有的特性。ES6之前 JavaScript没有类的概念 ,ES6之后有了Class类的概念,TypeScript增强了Class的
相关语法。举例说明:
类的访问修饰符
public 公有属性 没有限制
private 私有属性 只能在类的内部去访问 如果在类的外部访问的话 会报错
protected 受保护属性 与private区别是可继承父类的方法和属性
类与接口
比如说人和动物是两个类,他们有共同的特点就是吃和跑,则吃和跑就是人和动物的接口,但是动物的吃和跑与人的吃和跑毕竟不一样,
所以是两个类,而不是一个类的继承。像C#,java这些语言更倾向于一个能力设定为一个接口,因为吃和跑不是同时进行的,这样设
计的话能使代码更细化 如下图所示:
TypeScript 抽象类
抽象类一定程度上跟接口的定义差不多,约束子类中必须有某一个成员,不同于接口的是抽象类可以包含一些具体的实现,抽象类一
般指的大的方向类,打个比方:动物就是抽象类,定义抽象类之后 只能够继承 不能再使用new的方式去创建实例对象了,定义抽象
类的方式 abstract 如下图所示:
TypeScript 泛型
定义函数或者接口或者类的时候没有指定具体的类型 使用的时候再去指定具体类型的这样一种特征这样做的目的是极大可能的复用
我们的代码 举例如下图所示:
上图所示泛型为number类型,如果为string类型的话 这段代码就不能用了,所以我们可以用一个参数T代表类型 如下图所示:
TypeScript接口与类的使用的更多相关文章
- 从C#到TypeScript - 接口
总目录 从C#到TypeScript - 类型 从C#到TypeScript - 高级类型 从C#到TypeScript - 变量 从C#到TypeScript - 接口 从C#到TypeScript ...
- typescript接口(学习笔记非干货)
typescript的核心原则之一就是对所具有的shape类型检查结构性子类型化 One of the core principles of typescript is to check struct ...
- typescript接口的概念 以及属性类型接口
/* 1.vscode配置自动编译 1.第一步 tsc --inti 生成tsconfig.json 改 "outDir": "./js", 2.第二步 任务 ...
- Typescript 接口(interface)
概述 typescript 的接口只会关注值的外形,实际就是类型(条件)的检查,只要满足就是被允许的. 接口描述了类的公共部分. 接口 interface Person { firstName: st ...
- 《三》大话 Typescript 接口
> 前言: 本文章为 TypeScript 系列文章. 旨在利用碎片时间快速入门 Typescript. 或重新温故 Typescript 查漏补缺.在官方 api 的基础上, 加上一些日常使用 ...
- TypeScript 接口继承
1.TypeScript 接口继承 和类一样,接口也可以通过关键字 extents 相互继承.接口继承,分为:单继承和多继承,即继承多个接口.另外,接口也可以继承类,它会继承类的成员,但不包括具体的实 ...
- Myeclipse中打开接口实现类的快捷键
Myeclipse中打开接口实现类的快捷键-----Ctrl + T Myeclipse中 Open Type快捷键-----Ctrl + Shift + T
- IDE:Eclipse查看接口实现类快捷键
1.打开接口类 2.双击接口名选中 3.Ctrl+T,打开接口实现类
- Servlet API遍程常用接口和类
本文主要总结Servlet API遍程常用接口和类 Servlet API http://tomcat.apache.org/tomcat-5.5-doc/servletapi/index.html ...
随机推荐
- web前端常用js插件
第一款:截图插件html2Canvas.js html2是一款强大的截图插件,只需引入js文件,依照官方给定的截图方法,就能截取对应DOM区域的内容.对于有些截图出现模糊偏移的问题,网上也有一堆解决方 ...
- axios 封装 跨域 实现 (后端跨域配置白名单)
1. 始vue化项目 vue init webpack deaxios # 使用脚手架创建项目 deaxios(项目名,随便取得) cd deaxios # 进入项目cnpm install npm ...
- shell,计算指定行的和,计算指定列的和
有一个文本文件,里面某行某列为数字,那么如何用shell计算指定行(列)的和,方法如下 计算指定行的和: awk 'NR==3{for(i=1;i<=NF;i++)sum=sum+$i;}END ...
- 深入浅出java的Map
HashMap的组成 首先了解数组和链表两个数据结构 1.数组 寻址容易,插入和删除元素困难 数组由于是紧凑连续存储,可以随机访问,通过索引快速找到对应元素,而且相对节约存储空间. 但正因为连续存储, ...
- UML—20—003
博客班级 https://edu.cnblogs.com/campus/fzzcxy/2018SE1 作业要求 https://edu.cnblogs.com/campus/fzzcxy/2018SE ...
- 网络知识扫盲——DNS
参考文章链接 : https://baijiahao.baidu.com/s?id=1668393227924896391&wfr=spider&for=pc 一.DNS 是什么? ...
- Ubuntu命令集(持续更新)
Ubuntu命令集,生活工作汇总,没有顺序.(持续更新...) 1 pwd:没有参数,在终端现实我们当前所处的文件夹位置:ctrl+l:清除当前终端屏: 2 --------------------- ...
- IDEA控制台打印程序内汉字乱码及txt文本乱码
控制台打印汉字乱码 解决IntelliJ IDEA控制台输出中文乱码问题 txt文本乱码 解决IDEA读取txt文本中显示的中文乱码问题
- HashMap的循环姿势你真的掌握了吗?
hashMap 应该是java程序员工作中用的比较多的一个键值对处理的数据的类型了.这种数据类型一般都会有增删查的方法,今天我们就来看看它的循环方法以前写过一篇关于ArrayList的循环效率问题&l ...
- [leetcode]BestTimetoBuyandSellStock买卖股票系列问题
问题1: If you were only permitted to complete at most one transaction (ie, buy one and sell one share ...