-----ts中泛型、泛型方法、泛型类、泛型接口--------------------------------
泛型解决了类、接口、方法的复用性,以及对不特定数据类型的支持(类型校验)
泛型:在方法调用时,由程序员指定泛型具体是什么类型
----eg
//最小堆算法
class Apple<T>{ //定义泛型类,在实例化的时候需要规定类型
//这里是用来存放数组的
public lists:T[]=[]; //泛型数组
list(value:T){ //泛型参数
this.lists.push(value);
}
min():T{ //定义泛型方法返回值
let minNumber = this.lists[0];
for(let a=0;a<this.lists.length;a++){
if(minNumber<this.list[a]){
minNumber=this.lists[a]
}
}
console.log(minNumber);// 最小数
return minNumber;
}
}
let a = new Apple<number>(); // 定义一个泛型类,在实例化的时候需要规定类型
a.list(1);
a.list(12);
a.list(13);
a.min();
-----泛型接口 接口关键字:interface
//---写法一
interface People<T>{
(value:T):T;
}
let name:People<string> = function<T>(value:T):T{
return value
}
console.log(name("gutu is my name!"));
//写法二
interface Apple{
<T>(value:T):T
}
let eat:Apple = function People<T>(value:T):T{
return value;
}
console.log(eat<string>("apple is wondefule"));
//泛型接口的写法和定义变量承接的时候的写法需要一致
ts中的泛型相关
最新推荐文章于 2024-07-29 09:12:45 发布