zoukankan      html  css  js  c++  java
  • 泛型 泛型类

    泛型:软件工程中,要考虑代码重用性。组件不仅能够支持当前的数据类型,同时也能支持未来的数据类型

    泛型就是解决 类 接口 方法 的复用性、以及对不特定数据类型的支持(类型校验)

    泛型可以支持不特定的数据类型  要求:传染的参数和返回的参数一致

    泛型函数

    //  T 表示泛型,具体什么类型是调用这个方法的时候决定的
    function getDate<T>(value:T):T{
        return value;
    }
    
    getDate<number>(123);
    getDate<string>('123');

    泛型类

    class Min<T> {
        public list:T[] = [];
        constructor() {
    
        }
        add(value:T){
            this.list.push(value);
        }
    
        min():T{
            var minNum = this.list[0];
            this.list.forEach((item)=>{
                if(item < minNum){
                    minNum = item;
                }
            })
            return minNum;
        }
    }
    
    var m = new Min<number>(); //实例化类 并且制定了类的T代表的类型是number
    m.add(4);
    m.add(6);
    m.add(8);
    alert(m.min());  //4

    泛型接口

    // 方式1
    interface ConfigFn<T>{
        (value:T):T;
    }
    
    function getData<T>(value:T):T{
        return value;
    }
    
    getData<string>('Tom');
    // 方式2
    interface ConfigFn2{
        <T>(value:T):T;
    }
    
    var getData2:ConfigFn2 = function<T>(value:T):T{
        return value;
    }
    
    getData2<number>(12);
  • 相关阅读:
    Photoshop 基础七 位图 矢量图 栅格化
    Photoshop 基础六 图层
    Warfare And Logistics UVALive
    Walk Through the Forest UVA
    Airport Express UVA
    Guess UVALive
    Play on Words UVA
    The Necklace UVA
    Food Delivery ZOJ
    Brackets Sequence POJ
  • 原文地址:https://www.cnblogs.com/webmc/p/12675012.html
Copyright © 2011-2022 走看看