1. 在面向对象的编程中, 接口是一种规范定义, 起到了一种限制和规范的作用
2. 自定义方法传入参数, 对json进行约束
function run(json: {aaa: string, bbb: number}) {
// ...
}
run({aaa: 'aaa', bbb: 123});
3. 属性接口 (interface), 对传入参数进行约束
interface User {
username: string;
// 属性名加?号, 接口的可选属性, 这个参数可传可不传
password?: string;
}
function userInfo(user: User) {
// user.username
// user.password
}
userInfo({username: 'aaa', password: '123'});
userInfo({username: 'aaa'});
4. 函数类型接口
interface Fun {
(aaa: string, bbb: number): string;
}
var fn: Fun = function(aaa: string, bbb: number): string {
return 'ok';
}
5. 类类型接口
interface Animal {
name: string;
eat(food: string): void;
}
class Dog implements Animal {
name: string;
constructor(name: string) {
this.name = name;
}
eat(food: string): void {
// ...
}
}
6. 接口扩展 (接口可以继承接口)
interface Animal {
eat(food: string): void;
}
interface Person extends Animal {
work(): void;
}
class teacher implements Person {
eat(food: string): void {
// ...
}
work(): void {
// ...
}
}