• 泛型 泛型类


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

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

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

    泛型函数

    //  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);
  • 相关阅读:
    leetcode16 3-Sum
    leetcode679:24Game
    leetcode621 贪心:任务安排
    SpringMVC中的Controller默认单例
    O(n)复杂度求没有出现的数字(leetcode448)
    SpringBoot获取ApplicationContext
    Largest Number(leetcode 179)
    使用免费ip代理进行投票
    Oracle分页
    Oracle JDBC配置
  • 原文地址:https://www.cnblogs.com/webmc/p/12675012.html
Copyright © 2020-2023  润新知