• part01.02 泛型与集合:泛型


    泛型是什么?

    泛型的定义主要有以下两种:

    1. 在程序编码中一些包含类型参数的类型,也就是说泛型的参数只可以代表类,不能代表个别对象。(这是目前比较常见的定义)

    2. 在编码中一些包含参数的,其参数可以代表类或对象等等(目前大多数把这称作模板)

    不论使用哪个定义,泛型的参数在真正使用泛型时都必须作出指明。

    一些强类型程序语言支持泛型,其主要目的是加强类型安全及减少类转换次数,但一些支持泛型的程序语言只能达到部分目的。

    类  泛型<具体类型>
    {
      具体类型  值;

      设置值(具体类型  具体类型对象)
      {
        值 = 具体类型对象;
      }
      获取值()
      {
      返回  值;
      }
    }

     1  class GenericsType<T>
     2     {
     3         public T Value { get; set; }
     4         public void Set(T input)
     5         {
     6             Value = input;
     7         }
     8     }
     9 
    10     class Demo
    11     {
    12         public static void Func()
    13         {
    14             var a = new GenericsType<string>();
    15             a.Set("abc");
    16             var a1 = a.Value;
    17 
    18             var b = new GenericsType<int>();
    19             b.Set(12);
    20             var b1 = b.Value;
    21 
    22             Console.WriteLine(a1 + b1);
    23             Console.ReadKey();
    24         }
    25     }

    泛型的理解:

    泛指所有可能的对象:定义一类 “东西” ,可以约束东西的一些特征 (属性和方法),例如容器作为泛型来看,其基本的特征就有 “容积” 这样的值。

    “东西” 用到的时候才成为对象:泛型容器在实例化的时候,需要指明具体的类型(例如立方体),才能做计算容器的处理。类似的概念:一杯喝的东西,也可以看成是泛型, 在需要喝的时候,才实例化:一杯酒、一杯牛奶、一杯开水 ......

    和抽象类不一样:抽象类定义了具体的规格例如属性、方法,使用之前就知道其基本的结构信息了,只是属性可以直接在派生类用,方法根据需要重写。已经是具体的类型了。

    和接口类不一样:与抽象类相似,只是在接口类中多有的属性、方法都需要在派生类中显示显示。

    参考网址:https://msdn.microsoft.com/zh-cn/library/ms172193(v=vs.95).aspx

  • 相关阅读:
    map的集合顺序怎么跟添加时候的顺序一样
    陕西电信开出的电子发票没有发票代码
    微擎密码忘了,password.php也不起作用
    使用composer require安装服务后 切记使用composer install 安装一下才能用
    激活 山东理工大学 jetrbins
    SpringBoot打包成可执行jar
    卸载windows服务
    cglib的动态代理
    cglib的使用
    FCKeditor使用
  • 原文地址:https://www.cnblogs.com/huangzewei/p/7272897.html
Copyright © 2020-2023  润新知