诚意
诚意如你,当一诚的态度对待

导航

 

接口是一系列抽象方法的声明,是一些方法特征的集合,这些方法都应该是抽象的,需要由具体的类去实现,然后第三方就可以通过这组抽象方法调用,让具体的类执行具体的方法。

实际上接口就是对行为和动作的规范,对批量方法的约束

一:接口的定义和使用

 

//属性接口
interface FullName { 
    firstname: string;
    secondname: string;
}

function PrintName(name: FullName) { 
    //必须传入firstname\secondname
}

//调用
PrintName({
    firstname: '张三',
    secondname:'李四'
})
//调用
var obj = {
    firstname: '张三',
    secondname: '李四',
    age:20
}
PrintName(obj)

二:函数式接口

对函数的参数和返回值进行约束

interface encrypt { 
    (key:string,value:string):string
}

let md5: encrypt = function (key:string,value:string):string { 
    return key+value
}

md5('s', 'r');

 

 

三:可索引接口

数组、对象的额约束

//数组的约束
interface userarr { [index: number]: string;//对数组的索引index约束为 } let arr: userarr = ['s','d']

 

 

//对象的约束
interface userobj { 
    [index: string]: string;
}

let arr: userobj = {'name':'zhangsna','age':'11'}

 

四:类类型接口(对类进行约束,类似于抽象类)

interface Animal { 
    name: string,
    eat(str: string): void;
}

class Dog implements Animal { 
    name: string;
    constructor(name:string) { 
        this.name=name
    }
    eat() { 
        console.log();
    }
}

var dog = new Dog('lili');
dog.eat();

 

五:接口其他用法

1:接口继承接口

interface Animal { 
    eat(): void;
}

interface Person extends Animal { 
    work(): void;
}

class Web implements Person { 
    constructor() { 
        
    }
    eat() { 
        console.log();
    }
    work() { 
        
    }
}

 

posted on 2019-05-07 15:09  诚意  阅读(93)  评论(0)    收藏  举报