ts中的泛型相关

-----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"));

//泛型接口的写法和定义变量承接的时候的写法需要一致



















  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值