首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 8 毫秒
1.
刘未鹏 《程序员》2007,(12):90-92
动态多态与静态多态泛型编程的核心活动是抽象:将一个特定干某些类型的算法中那些类型无关的共性抽象出来,比如,在STL的概念体系里面,管你是一个数组还是一个链表,反正都是一个区间,这就是一层抽象。管你是一个内建函数还是一个自定义类,反正都是一个Callable(可调用)的对象(在C++里面通过仿函数来表示),这就是一层抽象。泛型编程的过程就是一个不断将这些抽象提升(lift)出来的过程,最终的目的是形成一个最大程度上通用的算法或类。  相似文献   

2.
现今面向对象已经成为软件业内的主流技术,然而它存在很多的弱点,使得它的通用性和抽象程度受到很大限制。设计模式作为面向对象领域内的高级软件复用技术,同样摆脱不了相同的困扰。泛型编程是面向对象的进一步发展,从更高的角度对世界进行抽象,为面向对象的不足之处提供了解决之道。将设计模式泛化带来更大规模的代码复用,使得设计模式的实现得以自动化,从而使开发人员能以面向设计的方式让使用者自行装配所需机能,产生能表达原始设计意图的代码,实现设计与编码之间的无缝过渡。  相似文献   

3.
泛型编程是面向对象的进一步发展,从更高的角度对世界进行抽象,为面向对象的不足之处提供了解决之道.它可让你重复运用既有的算法,而不必在环境类似的情况下再重新撰写相同代码,使得处理的问题更加抽象化,是一种优美而又不失效率的通用型程序设计方法.JDK 1.5中引入了对Java语言的多种扩展,泛型(generics)即其中之一.本文讨论JDK 1.5的泛型实现.  相似文献   

4.
本文对泛型编程的核心思想和技术特征进行了较为深入的分析,介绍了泛型编程在语言实现上的现状与不足,着重论述了作者针对这些不足做出的改进工作,即对类型参数及其约束机制进行扩展以支持通用、高效的算法和数据结构的设计,并以Java语言作为实施例,详细介绍了如何通过现有对象技术来实现比较完整的泛型编程,是现有面向对象语类泛型编程的首例。  相似文献   

5.
泛型编程旨在编写一般化并可重复使用的算法,主要目的是提高程序的复用性,其效率与针对某特定数据类型而设计的算法相同.泛型编程可以使算法与数据结构完全分离,极大提高了程序的灵活性.在O'Caml语言中已经实现了类型标记函数和泛型函数,但泛型函数的类型参数只能是基本类型或实例化类型,不能使用抽象类型.“泛型抽象”是指使用抽象类型作为类型参数的函数定义方法,实现了“泛型编程”类型参数的多样化.文中在O'Caml语言上进行“泛型抽象”的研究,根据规则对O'Caml语言语法进行扩展,并在O'Caml语言中实现了“泛型抽象”函数定义.  相似文献   

6.
结合C 探讨了利用模板技术和STL进行泛型编程,可以极大地改变我们的编程方式,使程序代码更具有可重用性和可维护性.  相似文献   

7.
王朋  徐健  于尚超 《微机发展》2013,(7):92-95,100
泛型编程旨在编写一般化并可重复使用的算法,主要目的是提高程序的复用性,其效率与针对某特定数据类型而设计的算法相同。泛型编程可以使算法与数据结构完全分离,极大提高了程序的灵活性。在O’Caml语言中已经实现了类型标记函数和泛型函数,但泛型函数的类型参数只能是基本类型或实例化类型,不能使用抽象类型。"泛型抽象"是指使用抽象类型作为类型参数的函数定义方法,实现了"泛型编程"类型参数的多样化。文中在O’Caml语言上进行"泛型抽象"的研究,根据规则对O’Caml语言语法进行扩展,并在O’Caml语言中实现了"泛型抽象"函数定义。  相似文献   

8.
9.
10.
汪鹏 《程序员》2004,(7):35-38
泛型程序设计(Generic Programming)是建立在C++的Template机制基础上的一种完全不同于面向对象的程序设计思维模式,STL是泛型概念的一套实作产品。Loki是一十与Boost齐名的开放源码的C++程序库,它通过一些精巧的装置为常规C++开发提供了一些很有用的工具。STL非常好用,弹性非常大,效率也很理想。目前  相似文献   

11.
对于泛型程序设计来说,类型的参数化多态是其理论框架,参数化多态引入了类型变量,使得类型参数化,支持类型上的抽象,从而可以大大提高软件的复用程度。泛型编程思想已经在多种语言中得到运用,并已取得了不小的成果。在函数式语言上进行泛型的研究与应用,Haskell语言是函数式语言中较为经典的一种语言,它的计算模型简单,语法清晰,易于编写,易于维护,拥有很大的发展空间。利用一些规则对Haskell语言的语法进行相关扩展,同时引入泛型的思想,研究与运用定义泛型函数的方法,在Haskell语言上实现了泛型功能。  相似文献   

12.
对于泛型程序设计来说,类型理论中的参数化多态是其理论框架,因为参数化多态引入了类型变量,使得类型参数化,从而完全支持类型上的抽象。然而对于现行的泛型算法,无论是C++标准模版库中的泛型算法还是基于函数式程序设计语言的算法,函数功能的定义比较具体化、单一化,因而缺乏可扩展性和高度的复用性。将对递归算法进行抽象,构造原始递归构造子,使得一般的泛型算法都可以通过该算子来构造,从而加强泛型算法的可复用型与可扩展性。除此之外,分析了递归算法构造子与泛型程序设计中的iterator概念和用于描叙泛型概念的形式化语言Tecton中所提倡的reuse概念的一致性。也给出算法复杂度的定量分析,并用函数式语言ML来实现。  相似文献   

13.
张猛 《程序员》2004,(4):69-72
已经毋庸置疑,在现代主流商业应用开发领域,曾经的“王者”开发语言——C++的地位已经被九十年代后崛起的基于虚拟机技术的语言或平台取代——如Java、.NET等等。原因很简单,硬件的迅速发展,单位CPU资源成本越来越低。  相似文献   

14.
编程型游戏的设计与实现   总被引:2,自引:0,他引:2  
编程型游戏是采用了编程游戏方式的计算机游戏,通常有多种类型.游戏软件主要由游戏者管理模块、竞技管理模块、竞技监视模块、竞技记录模块和代码编辑模块组成.构建游戏的关键技术包括角色线程调度技术、控制程序封装与加栽技术、网络同步技术和竞技过程回放技术等.  相似文献   

15.
16.
本文讨论了C++中泛型编程(generic programming)与面向对象设计(object-oriented design)原则的冲突问题,并用实例——any-iterator,一个类型安全、适用于任何类型的C++遍历器——说明了类型擦除(type erasure)技术对此问题的解决办法。  相似文献   

17.
在C++中实现遍历器类型擦除:anyi_iterator 首先,我要说说实现any_iterator的初衷。我有一个类负责向用户供应大量数字序列。其中主要的序列存储在STL容器内部,其他次要的则通过Boost遍历适配器从主要序列中实时计算得到。用户自己要对付这么多遍历器类型,显然十分痛苦。因此,我想实现能解引用double量的遍历器(输入遍历器)。这个遍历器是这样的,它必须可以控制任何的、我的类正暴露之的遍历器。  相似文献   

18.
本文介绍了泛型Java的背景知识和一个泛型Java编译器——GJ——的安装方法。读者基础:有Java语言基础,最好用过Java Collection classes。本文适用工具:(1)JDK1.4+JSR14 (2)Generic Java(GJ)本文程序源码(javag.bat、Test.java、Employee.Java、JQueue.java)可至侯捷网站下载本文同时也是JavaTwo-2002技术研讨会之同名讲题的书面整理与补充。  相似文献   

19.
泛型编程是多数现代程序设计语言支持的,能够简化代码、提高代码复用性的现代编程方法.依据C语言的基础语法规则,深度挖掘C语言本身的语言特性,基于类函数宏技术实现了泛型顺序栈的编程实践,为使用C语言实践泛型编程提供了一种解决思路.  相似文献   

20.
刘未鹏 《程序员》2003,(9):90-95
前奏如你所知,Boost库是个特性完备,且具备工业强度的库,众多C 权威的参与使其达到了登峰造极的程度。尤其泛型的强大威力在其中被发挥得淋漓尽致,令人瞠目结舌。下面,我试图从最单纯的世界开始,一步一步带领你进入源码的世界,去探究function的生死因果,来龙去脉,以及其内部的精微结构。  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号