接口的作用
在面向对象编程中,接口是一种规范的定义,它定义了行为和动作规范
在程序设计里面,接口起到一种限制和规范的作用。接口定义了某一批所需要遵守的规范
接口不关心这些类内部状态数据,也不关心这些类里面方法的实现细节它只规定了这批类里必须提供某些方法,提供这些方法的类就可以满足实际需要。
typescript中的接口类似java,同时还增加了更灵活的接口类型,包括属性、函数、可索引和类等
定义标准
属性接口对json的约束
ts中定义方法
function printLabel():void{
console.log('')
}
printLabel()
ts中定义方法传入参数
function printLabel(label:string):void{
console.log(label)
}
printLabel('ruby')
ts中自定义方法传入参数 对json进行约束
function printLabel(labelInfo:{label:string}):void{
console.log(labelInfo.label)
}
printLabel({label: 'ruby'})
接口:行为和动作规范,对批量方法进行约束
传入对象的约束 属性接口
interface FullName{
firstName: string; // 注意分号结束
secondName: string;
}
/* 必须传入对象firstName secondName */
function printName(name:FullName){
console.log(name.firstName + '--' + name.secondName)
}
printName({firstName: 'Li', secondName: 'er dog'})
对批量方法传入参数进行约束
interface FullName{
firstName: string; // 注意分号结束
secondName: string;
}
/ * 必须传入对象 firstName secondName * /
function printName(name:FullName){
console.log(`${name.firstName}--${name.secondName}`)
}
function printInfo(info:FullName){
console.log(info.firstName + ' ' + info.secondName)
}
let info = {
firstName: 'Lu',
secondName: 'lily',
age: 30
}
printInfo(info)
接口可选属性
interface FullName{
firstName: string;
secondName: string;
}
function getName(name:FullName){
console.log(`method getName: ${name.firstName}--${name.secondName}`)
}
getName({firstName: 'Wang', secondName: 'Qian'})
interface FullName{
firstName?:string;
secondName?:string;
}
function getName(name:FullName){
console.log('method getName:')
}
getName()