TS中接口

接口:接口是一种定义行为和规范,在程序设计中接口起到限制和规范的作用。接口定义某一批类所需要遵循的规范,接口不关系这些类的内部实现,之规定这些类必须提供某些方法
 
1.对 对象(复杂类型)进行约束
 1 interface Fullname {
 2   firstName: string;
 3   secondName: string;
 4   flag?: boolean;
 5 }
 6 function printName(name:Fullname) {
 7   console.log(name.firstName);
 8   console.log(name.secondName)
 9 }
10 printName({firstName:'df',secondName:'dff'})

2.函数类型接口,对方法传入以及返回值进行约束

1 interface encrypt {
2   (key: string, value: string): string;
3 }
4 
5 var stringA: encrypt = function (key, value) {
6   return key + value;
7 };
8 
9 console.log(stringA("fasdf", "dd"));

3.可索引接口(定义数组对象)

 1 interface hanleA {
 2   [index:number]:hanleB
 3 }
 4 
 5 interface hanleB {
 6   name: string,
 7   age: number,
 8   flag?: boolean
 9 }
10 function handleReduce(arr: hanleA) {
11   console.log(arr)
12 }
13 
14 handleReduce([{name: 'shun', age: 12}, {name: 'enne', age: 12}])
4.类类型接口 和抽象类有点相似
 1 interface Animal {
 2   name: string;
 3   eat(str:string):void;
 4 }
 5 class Dog implements Animal {
 6   name: string;
 7   constructor(name:string) {
 8     this.name = name
 9   }
10   eat() {
11     console.log(this.name + 'eating');
12   }
13 }
14 var dog = new Dog('小狗');
15 dog.eat();

5.接口的扩展

 1 interface Animal1 {
 2   eat():void;
 3 }
 4 interface People extends Animal1 { // 接口继承接口
 5   work():void;
 6 }
 7 class web implements People {
 8   constructor() {
 9 
10   }
11   eat() {
12     return 'ddd'
13   }
14   work() {
15     return 'fsaf'
16   }
17 }

 

posted @ 2022-03-16 22:47  顺·  阅读(92)  评论(0编辑  收藏  举报