ts中的接口用法

1,472 阅读1分钟

接口的定义

接口是对某些数据或者方法的约束规则

1.json 的接口

interface Info{
    name:string,
    age:number,
    sex?:string
}
//obj要实现这个接口,必须有name 为字符串的属性和age 为数字的属性,sex为可选属性
let obj:Info={
    name:'22',
    age:333,
    sex:'女'
}

2.函数接口

interface getTnfo {
    (id:string):Object
}
//getPerson方法要实现这个接口,必须有类型为string的参数,必须有类型为object的返回值
let getPerson:getTnfo=(id:string):Object=>{
    return {}
}

3.类的接口

interface Animal {
    name:string;
    run(str?:string):void;
}
//Dog 类要实现 Animal 接口  用关键字  implements  ,该接口规定必须有name属性,必须有run 方法,而且该方法必须没有返回值
class Dog implements Animal {
    name:string
    constructor(name:string){
        this.name=name
    }
    run(){
        console.log('奔跑')
    }
}

接口也可以继承接口

interface Animal {
    name:string
}
//Person接口继承了Animal接口
interface Person extends Animal {
    work(str:string):void
}
//renlei这个类实现Person 接口,就必须有name属性和work方法
class renlei implements Person {
    name:string
    constructor(name:string){
        this.name=name
    }
    work(str:string):void{
        console.log('我在工作')
    }
}