没有登录
中国开发网: 论坛: 程序员情感CBD: 贴子 30851
李颖: 泛型编程就是,与具体的数据类型无关,面向抽象的运算的一种编程
比如,一个排序算法,需要用到比较运算

把这个比较运算抽象出来之后,这个排序算法就可以完成了

然后,只要是支持比较运算的数据类型,都可以适用于这个排序算法

这样的好处是,一个面向泛型编写出来的算法,可以适用于一切支持这些运算的数据类型

一个排序算法,可以适用于整数、浮点数、字符串、甚至是支持比较运算的对象

泛型编程的典型例子是C++的STL(Standard Template Library)

C++支持模板和运算符重载,因此支持泛型编程比较方便

Delphi/Java一般是用接口来实现,但是总的思路是一致的

比如上面的排序问题,在Java中,需要在类中实现Comparable接口

然后,在java.util.Arrays类中提供了一个静态方法

public static void sort(Object[] a)

Sorts the specified array of objects into ascending order, according to the natural ordering of its elements. All elements in the array must implement the Comparable interface.

因为语言本身的差异,使得泛型编程的实现方式有一些不同

但是总的思路是一样的
DISSENT IS THE HIGHEST FORM OF PATRIOTISM !

--Thomas Jefferson

相关信息:


欢迎光临本社区,您还没有登录,不能发贴子。请在 这里登录