中国开发网: 论坛: 程序员情感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.

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

但是总的思路是一样的

相关信息:


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