TS interface接口
2023-12-21 21:44:28
接口可以约束对象、函数、类的结构和类型,是一种必须遵守的契约。
简单来说,接口中可以定义属性和方法,声明属性的类型以及方法的类型。
接口的继承:
interface Shape{
color: string
}
interface PenStroke{
width:number
}
// 接口Square继承了Shape和PenStroke两个接口
interface Square extends Shape,PenStroke{
length:number
}
let square = <Square>{}
square.color = 'red'
square.length = 10
square.width = 11
console.log('square.color',square.color)
接口对属性和方法的描述:
interface Counter{
(start: number): string; // 描述了一个函数,入参是一个number类型的参数,出参是一个string类型的参数,
//区别于[propName: string]: string 索引签名的写法
interval: number;
reset(start: number):void
}
function getCounter(): Counter{
let counter = function (start: number) { } as Counter
counter.interval = 123
counter.reset = function () { }
return counter
}
let ctest = getCounter()
ctest(10)
ctest.reset(1)
ctest.interval = 5
总结:
- 接口中所有属性不能有实际的值
- 接口只定义对象的结果,不考虑实际值
- 在接口中所有的方法都是抽象方法
- 接口用来定义一个类结构,定义类中有哪些属性和方法,同时接口也可以当成类型声明去使用
文章来源:https://blog.csdn.net/content6/article/details/135139732
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!