三分钟快速了解typeScript接口
typeScript接口
属性类接口
函数类型接口
可索引接口
类类型接口
接口扩展
接口是一系列抽象方法的声明,是一些方法特征的集合,这些方法都应该是抽象的,需要由具体的类去实现,然后第三方就可以通过这组抽象方法调用,让具体的类执行具体的方法。
接口的作用:在面向对象的编程中,接口是一种规范的定义,它定义了行为和动作的规范,在程序设计里面,接口起到一种限制和规范的作用。
接口定义了某一批类所需要遵守的规范,接口不关心这些类的内部状态数据,也不关心这些类里方法的实现细节,它只规定这批类里必须提供某些方法,提供这些方法的类就可以满足实际需要。
typescrip中的接口类似于java,同时还增加了更灵活的接口类型,包括属性、函数、可索引和类等。
接口:行为和动作的规范,对批量方法进行约束
属性接口
对json的约束
interface Person {name:string;age:number;sex?:string//可选属性
}
function printPerson (p:Person){if(p.sex){console.log(`${p.name}年龄${p.age} 性别${p.sex}`)}else{console.log(`${p.name}年龄${p.age}`)}
}
//写法一
printPerson({name:"fur",age:1})//fur年龄1
printPerson({name:"fur",age:1,sex:"girl"})//fur年龄1 性别girl
//写法二
var obj:Person = {name:"furfur",age:2,sex:"girl"
}
printPerson(obj)//furfur年龄2 性别girlrfur年龄2 性别girl
函数类型接口
对方法传入的参数 以及返回值进行约束,批量约束
interface encrypt{(key:string,value:string):string;
}
var md5:encrypt=function(key:string,value:string):string{//模拟操作return key+value;
}
console.log(md5('name','fur'));//namefur
可索引接口
数组、对象的约束
//对数组的约束
interface Arr {[index:number]:string;
}
var arr1:Arr = ["1","2","3"]//对对象的约束
interface Obj {[index:string]:string
}
var arr2:Obj = {name:"fur",age:"1"}
类类型接口
对类的约束和抽象类抽象有点相似
class person {name:string; constructor(n:string){this.name = n}play():void{}
}
class man implements person{name: string;constructor(name:string){this.name = name;}play():void{console.log(`${this.name} lol`)}
}
class woman implements person{name: string;constructor(name:string){this.name = name;}play():void{console.log(`${this.name} shopping`)}
}
var m = new man("boy")
m.play()//boy lol
var w = new woman("girl")
w.play()//girlshopping
接口扩展
接口可以继承接口
例子:接口person继承接口Animal,man实现接口person同时也要实现Animal
class Animal{eat():void{}
}
class person extends Animal{play():void{}
}class man implements person{eat():void {console.log('吃粮食')}play():void{console.log('玩游戏')}
}
↓↓↓
typeScript系列学习文章目录
三分钟快速了解typeScript接口相关推荐
- 三分钟快速了解typeScript 类
typeScript 类 类描述了所创建的对象共同的属性和方法. 类的定义 继承 类里面的修饰符 静态属性 静态方法 抽象类 继承 多态 类的定义 class person {name:string; ...
- 三分钟快速了解typeScript的装饰器
↓↓↓ typeScript系列学习文章目录 装饰器:装饰器是一种特殊类型的声明,它能够被附加到类声明,方法,属性或参数上,可以修改类的行为. 通俗的讲装饰器就是一个方法,可以注入到类.方法.属性参数 ...
- 三分钟快速了解typeScript数据类型
前言: TypeScript 是由微软开发的一款开源的编程语言. TypeScript 是 Javascript 的超级,遵循最新的 ES6.ES5 规范 TypeScript 扩展了JavaScri ...
- 深入理解 Redis Template及4种序列化方式__spring boot整合redis实现RedisTemplate三分钟快速入门
概述 使用Spring 提供的 Spring Data Redis 操作redis 必然要使用Spring提供的模板类 RedisTemplate, 今天我们好好的看看这个模板类 . RedisTem ...
- 云小课 | 一个三分钟快速定制OCR应用的神器,要不?
摘要:ModelArts Pro提供了文字识别套件,基于丰富的文字识别算法和行业知识积累,帮助客户快速构建满足不同业务场景需求的文字识别服务.三分钟即可快速定制OCR服务,实现多种版式图像的文字信息结 ...
- 三分钟快速了解CSS Display的属性:Block,Inline,Inline-Block
文章目录 三分钟快速了解CSS Display的属性:Block,Inline,Inline-Block Block Inline Inline-block Block,Inline,Inline-B ...
- 如何三分钟快速制作自定义ppt
目录 利用ChatGPT+MindShow三分钟生成PPT 机器人 道合顺 莓用ai 百晓生 aichat 结合提词器以达到更好地提问效果: 更好地提问ChatGPT_常用prompt表_小黄同学LL ...
- linux国产操作系统下载网站,三分钟快速安装国产操作系统Ylmf OS
雨林木风旗下国产操作系统Ylmf OS 4.0已经发布,(具体见http://www.linuxidc.com/Linux/2011-06/36739.htm)靓丽清爽的系统界面和丰富的系统应用立刻引 ...
- LP框架| 三分钟快速构建分布式微服务系统(一)
开场章 LP框架极速搭建(用时3分钟) 公司来了新项目,我们如何快速大家一个成熟框架快速开发呢?是copy之前的项目做些更改还是重新一点点搭建?亦或者用公司的框架? 无论怎么做我们目的就是借鉴之前的开 ...
最新文章
- iMeta:德布鲁因图在微生物组研究中的应用(全文翻译,PPT,视频)
- 【嵌入式开发】C语言 指针数组 多维数组
- Python程序设计之如何设置统一编码格式
- 毕业论文选题三步搞定!
- linux怎么取消挂在u盘,linux下如何挂载U盘
- Android 通知栏消息
- 解决Hadoop时no namenode to stop异常或则 是 jps中没有namenode
- SpringAOP和AspectJ
- Linux运维之路怎么走?
- jsp实现简单购物车过程
- 【高端黑】软件工程师去理发店
- Delphi7微信、支付宝扫码支付源码
- ENVI背景值nodata或NAN解决方法/ArcGIS栅格影像背景颜色去除
- 团队管理之团队气氛篇
- 【老李的模拟赛】【#4】【2014-08-09】
- 求三角形 四边形面积(python)
- digstream.exe
- 将excel文件内容转为json格式字符串
- 新闻软文写作_软文写作网_产品软文写作_活动软文写作|Giiso智搜
- 查看自己电脑上的机器码教材