TypeScript中的接口

接口(interface )

在面向对象的编程中,接口是一种规范的定义,定义了行为和动作的规范.
接口不关心这些类的内部状态数据,也不关心这些类里方法的实现细节,它只规定这批类里必须提供某些方法,提供这些方法的类就可以满足实际需要。
typescript中的接口分为
1,属性接口
2,函数类型接口
3,可索引接口
4,类类型接口
属性接口:对传入对象的约束

interface Person {
    name:string;
    age:number
}
function f6(per:Person) {
    console.log('姓名'+per.name)
}
//调用f6这个方法时,必须传入和上面接口同类型的参数
f6({name:'zzz',age:23});
f6('123');//错误
f6({name:'222',age:34,sex:'男'});//错误

函数类型接口:对方法传入的参数以及返回值进行约束

interface f7 {
    (key:string,value:string):string
}
var md5:f7=function (key:string,value:string):string {
   return key+value 
};
console.log(md5('name','zhang'));

可索引接口:对数组和对象的约束(不常用)

//对数组的约束
interface f8 {
    [index:number]:string
}
var arr:f8=['12','lisi'];//正确
var arr1:f8=[1,'lsis',a]//错误
//对对象的约束
interface f9 {
    [index:string]:string
}
var obj:f9={'姓名':'张三'}
var obj1:f9=[]//错误

类类型接口:对类的约束(和抽象类有点相似)

interface Animal {
    name:string;
    eat(str:string):void;
}
class Dog implements Animal{// 类可以继承接口
    name:string;
    constructor(name:string){
        this.name=name
    }
    eat(): void {
        console.log(this.name+'吃东西')
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值