用泛型技术改进.NET面向对象程序设计方法

第27卷第2期武汉理工大学学报?信息与管理工程版V01.27No.2垫Q三生垒月』Q坠垦盥垒垦Q里堕亚(!盟里Q垦丛垒旦Q盟鱼丛垒盟垒堡曼丛堑盟!垦盟堡盟垦垦壁!盟堡)垒乜!:2螋§文章编号:1007—144X(2005)02—0093-03

用泛型技术改进.NET面向对象程序设计方法

余名高,姚开鹏

(武汉理工大学计算机科学与技术学院,湖北武汉430070)

摘要:泛型机制是编程语言和编程思想的一次革命。随着时间的推移,包括JDK和.NETFramework在内的高级语言都纷纷开始支持这一新特性。笔者针对Whidbey中的C#语言,从理论和实践两个角度,分析了泛型技术对.NET面向对象程序设计方法的深远影响。

关键词:泛型;面向对象;.NET框架;c#;Whidbey

中图法分类号:TP311文献标识码:A

1引言

泛型机制的主要内容是,允许开发人员定义不固定细节的类型,这些细节会在使用者代码引用时才加以指定。Sun公司打算在即将正式发布的JDKl.5中支持这一新特性;Microsoft打算在其代号为Whidbey的下一代公共语言运行(CLR)中支持这一新特性。由此可见,这一技术即将在各主流的面向对象开发平台中占有一席之地,它的到来,必将对面向对象程序设计方法产生深远的影响。如何成功地使用这一新技术,创建更具灵活性、可重用性和安全性的应用程序,是摆在程序开发人员面前的又一新课题。笔者将以Whidbey中的C#为例,对该问题进行详细说明。

2泛型的使用及特性

2.1泛型的使用

泛型最初出现在一些非面向对象的语言中,后来逐渐被引人面向对象的语言中。简单地说,泛型就是“类型参数化”,即实现方式与类型无关。实质上,泛型是面向对象设计和实现过程中的一种高效、安全地实现代码重用的编程思想。已包括2个方面:避免或减少了代码的重复编制;系统效率并未因此而降低。它要求代码均由编译器从一份通用代码自动拷贝而来,因此这份代码必须对所有类型都适用。

由于日益增加的混合项目,程序员经常需要~种更好的手段复用和定制现存的基于组件的软件。为了达到这种高水平的代码复用,程序员通常使用称为泛型的特性…。在Whidbey中,CLR包含一种类型安全的、高性能、编译时检查的泛型版本,它与c++中已有的模板和Java中将有的泛型在语法上区别很小,实现方式上却区别很大。泛型允许开发者一次性建立、测试和发布代码,但却能通过多种不同的数据类型来复用代码,而对应用软件的性能影响却微乎其微旧J。与强类型的实现方式相比,CLR通过实现泛型可以减少代码臃肿,增强可读性和可维护性。Whidbey中同时支持泛型创建和泛型使用”J。

对于创建泛型的方法,一般来说,尖括号紧跟在泛型类型或成员的名称后面,指示类型参数列表。在类型参数列表中有一个或多个类型参数。参数还出现在泛型代码的整个定义中,用来替代特定的CLR类型或作为类型构造函数的参数。在使用泛型的时候,类型变量的真实类型填在尖括号中,在构造类型或方法时使用。可以在类、结构、接口、方法和代理等元素的定义中使用泛型‘4J。

2.2类型安全

在非泛型编程中,虽然所有的东西都可以作为Object传递,但是在传递的过程中免不了要进行类型转换,而类型转换在运行时是不安全的。使用泛型编程将可以减少不必要的类型转换,从而提高安全性。

对于这一个问题,可以用一个普通的列表排序算法和一个泛型的列表排序算法进行比较。当

收稿日期:2004—12—28.

作者简介:佘名高(1958一),男,江苏江都人,武汉理工大学计算机科学与技术学院副教授 

万方数据

相关文档
最新文档