typeScript入门接口

Posted tzzf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了typeScript入门接口相关的知识,希望对你有一定的参考价值。

 
接口我感觉是很常用的一块
定义标准:
接口的作用:在面向对象的编程中,接口是一种规范的定义,它定义了行为和动作的规范,在程序设计里面,接口起到一种限制和规范的作用。接口定义了某一批类所需要遵守的规范,接口不关心这些类的内部状态数据,也不关心这些类里方法的实现细节,它只规定这批类里必须提供某些方法,提供这些方法的类就可以满足实际需要。 typescrip中的接口类似于java,同时还增加了更灵活的接口类型,包括属性、函数、可索引和类等。
1)属性类接口
举个例子分析下
interface FullName{
  firstName:string; 
  secondName?:string;
}
function printName(name:FullName){
  console.log(name.firstName+‘--‘+name.secondName);
}
var obj={
  age:20,
  firstName:‘张‘,
  secondName:‘三‘
};
printName(obj);
注意点如下
一。定义接口用分号(;)隔开。
二。接口内的属性可以用?来表示这个接口可以不传
三。当函数调用时,参数不可直接写用对象,ts会报错有未知属性,需像上文一样先赋值给一个值,函数再调用的时候传这个值。
2)函数类接口
对方法传入的参数 以及返回值进行约束
interface encrypt{
   (key:string,value:string):string;
}
var md5:encrypt=function(key:string,value:string):string{
  return key+‘----‘+value;
}
console.log(md5(‘name‘,‘zhangsan‘));
3)可索引接口
对数组的约束
interface UserArr{
  [index:number]:string
}
对对象的约束
 interface UserObj{
   [index:string]:string
 }
其实可以看出来区别就是数组下标时number,但是对象下标就是string。
4)类类型接口
对类的约束 和 抽象类抽象有点相似
interface Animal{
  name:string;
  eat(str:string):void;
}
class Dog implements Animal{
  name:string;
  constructor(name:string){
    this.name=name;
  }
  eat(){
    console.log(this.name+‘吃粮食‘)
  }
}
注意点如下:
一。在interface内的所有属性或者方法,必须在实现的类中有。
二。interface是类实现接口的方法。
5)接口的拓展
接口可以继承接口,用extends实现。
一个类既可以继承(extends)一个类,也可以顺便实现(interface)一个接口。 

以上是关于typeScript入门接口的主要内容,如果未能解决你的问题,请参考以下文章

Typescript入门手册之引用类型在TypeScript中的应用

Typescript入门手册之引用类型在TypeScript中的应用

Typescript快速入门

TypeScript入门 - 类型定义函数枚举接口

typescript 入门教程四

软件开发入门教程网之TypeScript 类