同文館

泛型

泛型

泛型程序设计是程序设计语言的一种风格或范式。在强类型程序设计语言中必须要指定变量的类型,否则就过不了编译器那一关,而泛型的用途就是让程序员可以写出程序运行过程中确定变量的类型,简单来说泛型就是用一个特殊的符号代表变量的类型。

泛型的定义及目的

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

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

  2. 在程序编码中一些包含参数的类。其参数可以代表类或对象等等。(现在人们大多把这称作模板) 不论使用那个定义,泛型的参数在真正使用泛型时都必须作出指明。

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

伪代码例子

類例泛類<T> {
  值 : T

  設置值(新值 : T) {
    值 := 新值
  }

  獲取值() : T {
    返回 值
  }
}

例方法1() {
  例物件 : 例泛類<整數型>
  例物件 := 新 例泛類<整數型>()
  例物件.設置值(5)
  输出整数(例对象.获取值())
}

例方法2() {
  例物件 : 例泛-{}-類<浮點數型>
  例物件 := 新 例泛類<浮點數型>()
  例物件.設置值(5.5)
  输出浮点数(例对象.获取值())
}

this article from wikipedia