typescript(八)--ts中接口(可索引型、类类型)
程序员文章站
2022-07-12 15:54:01
...
如题,本篇我们介绍下ts中可索引型(数组型)接口 和类类型接口。
可索引型接口用于构建hash散列、堆栈等。
类类型接口就是传统面向对象语言(如java)中的接口,在传统面向对象语言(如java)中极为常见。
06_interface_arr.ts 可索引接口
/*
* ts中接口
* 可索引(数组型)接口 数组 可索引对象(hash、堆栈) 不常用
* */
//可索引接口
interface UserArr{
//定义索引key为number类型,索引值为string类型
[index:number]:string
}
var arr1:UserArr;
arr1=["aa","bb","cc"];
var arr2: UserArr
arr2={1:"hello",2:"world"};
console.log(arr1);
console.log(arr2);
07_interface_class.ts 类类型接口
/*
* ts中接口
* 类类型接口: 对类的规范 ,这种类型的接口在传统面向对象语言中最为常见,
* 比如java中接口就是这种类类型的接口 。这种接口与抽象类比较相似,但是接口只能含有为抽象方法、成员属性。
* 实现类中必须实现接口中所有的抽象方法和成员属性。
* */
interface Animal{
name:string;
eat(s:string):string;
}
//实现接口使用implements关键字,继承 使用extends关键字
//狗类
class Dog implements Animal{
name:string;
constructor(name:string){
this.name=name;
}
//实现接口中抽象方法
eat(s){
return this.name+"吃肉:"+s;
}
}
//猫类
class Cat implements Animal{
name:string;
constructor(name:string){
this.name=name;
}
//实现接口中抽象方法
eat(s){
return this.name+"吃鱼:"+s;
}
}
var dog=new Dog("tom");
var cat=new Cat("kitty");
console.log(dog.eat("五花肉"));
console.log(cat.eat("乌鳢鱼"));
下一篇: C++11类型系统