共查询到20条相似文献,搜索用时 8 毫秒
1.
动态多态与静态多态泛型编程的核心活动是抽象:将一个特定干某些类型的算法中那些类型无关的共性抽象出来,比如,在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.
泛型编程旨在编写一般化并可重复使用的算法,主要目的是提高程序的复用性,其效率与针对某特定数据类型而设计的算法相同。泛型编程可以使算法与数据结构完全分离,极大提高了程序的灵活性。在O’Caml语言中已经实现了类型标记函数和泛型函数,但泛型函数的类型参数只能是基本类型或实例化类型,不能使用抽象类型。"泛型抽象"是指使用抽象类型作为类型参数的函数定义方法,实现了"泛型编程"类型参数的多样化。文中在O’Caml语言上进行"泛型抽象"的研究,根据规则对O’Caml语言语法进行扩展,并在O’Caml语言中实现了"泛型抽象"函数定义。 相似文献
8.
9.
10.
11.
对于泛型程序设计来说,类型的参数化多态是其理论框架,参数化多态引入了类型变量,使得类型参数化,支持类型上的抽象,从而可以大大提高软件的复用程度。泛型编程思想已经在多种语言中得到运用,并已取得了不小的成果。在函数式语言上进行泛型的研究与应用,Haskell语言是函数式语言中较为经典的一种语言,它的计算模型简单,语法清晰,易于编写,易于维护,拥有很大的发展空间。利用一些规则对Haskell语言的语法进行相关扩展,同时引入泛型的思想,研究与运用定义泛型函数的方法,在Haskell语言上实现了泛型功能。 相似文献
12.
对于泛型程序设计来说,类型理论中的参数化多态是其理论框架,因为参数化多态引入了类型变量,使得类型参数化,从而完全支持类型上的抽象。然而对于现行的泛型算法,无论是C++标准模版库中的泛型算法还是基于函数式程序设计语言的算法,函数功能的定义比较具体化、单一化,因而缺乏可扩展性和高度的复用性。将对递归算法进行抽象,构造原始递归构造子,使得一般的泛型算法都可以通过该算子来构造,从而加强泛型算法的可复用型与可扩展性。除此之外,分析了递归算法构造子与泛型程序设计中的iterator概念和用于描叙泛型概念的形式化语言Tecton中所提倡的reuse概念的一致性。也给出算法复杂度的定量分析,并用函数式语言ML来实现。 相似文献
13.
已经毋庸置疑,在现代主流商业应用开发领域,曾经的“王者”开发语言——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.
前奏如你所知,Boost库是个特性完备,且具备工业强度的库,众多C 权威的参与使其达到了登峰造极的程度。尤其泛型的强大威力在其中被发挥得淋漓尽致,令人瞠目结舌。下面,我试图从最单纯的世界开始,一步一步带领你进入源码的世界,去探究function的生死因果,来龙去脉,以及其内部的精微结构。 相似文献