interface接口如何定义,类实现接口怎样做
Admin 2022-11-14 群英技术资讯 945 次浏览
这篇文章将为大家详细讲解有关“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进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要为大家详细介绍了js实现酷炫倒计时动画,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
这篇文章主要介绍了vue导入.md文件的步骤(markdown转HTML),帮助大家更好的理解和使用vue框架,感兴趣的朋友可以了解下
目录@ ~ 相对路径 路径别名设置项目设置src相对路径为@第一步 创建vue.config.js文件第二步 添加代码@ ~ 相对路径 路径别名设置./这是相对路径的意思,同级目录。../上级目录。@/这是webpack设置的路径别名。在build/webpack.base.conf这个文件里面设置了@具体指的是什么在
本文主要介绍了在vue中写jsx的几种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
这篇文章给大家分享的是用JS怎样实现简易的搜索筛选功能。小编觉得挺实用的,能应用的场景很多,因此分享给大家做个参考,文中示例代码介绍的非常详细,感兴趣的朋友接下来一起跟随小编看看吧。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
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核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008