interface接口如何定义,类实现接口怎样做
Admin 2022-11-14 群英技术资讯 863 次浏览
这篇文章将为大家详细讲解有关“interface接口如何定义,类实现接口怎样做”的知识,下文有详细的介绍,小编觉得挺实用的,对大家学习或工作或许有帮助,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。接口的作用:
接口一般使用 interface 关键字来定义,名字首字母需要大写。在项目中定义接口的时候,一般在名字前加一个大写 I 字母,能够快速识别该类型是接口。如:
interface IPerson{
name: string
age: number
sex: string
}
接口的主要作用就是用来进行约束对象的规范,如:
interface IPerson{
name: string
age: number
sex: string
}
let webPerson: IPerson = {
name:"倩倩",
age:18,
sex:'girl'
}
使用上述 IPerson 定义对象的时候,上述三个属性都是必加的,如果漏掉一个就会有错误提示。那如果某些属性有些对象有,有些对象没有呢?比如职业。
接口成员也可以是缺省的,定义的时候使用 "?" ,如:
interface IPerson{
name: string
age: number
sex: string
work?: string
}
但是在特殊情况下,有些人有饮食忌讳,大多数没有,有些人有特殊爱好,大多数也没有,此时这个属性不能具体,此时就可以添加任意属性,使用 propName 来定义,如:
interface IPerson{
name: string
age: number
sex: string
work?: string
[propName:string]: any
}
let webPerson: IPerson = {
name:"倩倩",
age:18,
sex: 'girl',
hobby: "跳舞",
refuse:"不吃羊肉"
}
添加任意属性之后,可以添加任意多个特殊属性。
接口和类一样,接口也可以相互继承。能够从一个接口里复制成员到另一个接口里,可以灵活地将接口分割到可重用的模块里面。继承的时候使用 extends 关键字。如:
interface IPerson{
name: string
age: number
sex: string
work?: string
[propName:string]:any
}
interface IAdult extends IPerson{
isHaveChildren: boolean
isBoss: boolean
}
let Tom: IAdult = {
isBoss: false,
isHaveChildren: false,
name: '倩倩',
age: 20,
sex: "girl"
}
一个接口可以继承一个或多个接口,多个接口之间使用逗号 "," 分割。如:
interface IPerson{
name: string
age: number
sex: string
}
interface IAdult extends IPerson{
isBoss: boolean
}
interface elderly extends IPerson, IAdult{
isRetire:boolean
}
接口的继承也就是接口的扩展,接口扩展就是多添加了一些约束,一个接口可以扩展多个接口。
在 typeScript 中,接口可以继承类,这样接口就具有了类的所有成员,同时这个接口只能引用这个类或者它的字类的实例。如:
class Person{
name:string;
age: number
constructor(name: string, age: number) {
this.name = name
this.age = age
}
}
interface IAdult extends Person{
married:boolean
}
let Tom: IAdult = {
name: "Tom",
age: 20,
married: true
}
console.log(Tom);
接口继承一个类类型时,它会继承类的成员但不包括其实现。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要介绍了vue 动态生成拓扑图的示例,帮助大家更好的理解和使用vue框架,感兴趣的朋友可以了解下
JS对象创建方式有几种,优缺点是什么?在JS开发中,如果要输入姓名、性别、年龄等信息,使用值类型存储,则必须声明多个变量,如果你声明更多的变量,就会造成变量污染,别着急,下面是JS中几种对象创建方法的优缺点比较,希望能帮到对此有需要的你。
这篇文章主要为大家介绍了vue的父子组件传值,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
简单的说Node.js就是运行在服务端的JavaScript。Node.js是一个基于Chrome JavaScript运行时建立的一个平台。Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好
目录打包部署后默认路由不正确问题描述解决方案vue打包后路径不对对于背景图片不显示的问题动画无法运行小图标没了打包部署后默认路由不正确问题描述vue项目本地开发的时候默认路由没问题,例如redirect:/index但是部署以后,服务器上默认路由不正确,现在遇到的问题是,会默认跳转到login页面,前提项目没有做路由权
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008