【摘 要】
:
面向对象程序设计(OOP)是以程序中的对象为核心,而泛型程序设计(GP)是以类型需求为核心的程序设计范式。泛型程序设计(GP)与面向对象程序设计(OOP)两者都是在程序设计时除去不稳定的部分,用更加通用的并且效率更高的部分来构造程序。尽管通用性和效率这两个特性被认为是相互对立的,但是仍然期望能在程序开发的大多数情况下实现两者之间的平衡,从而在确保类型安全的前提下加快程序开发的速度。总结了不同设计风
论文部分内容阅读
面向对象程序设计(OOP)是以程序中的对象为核心,而泛型程序设计(GP)是以类型需求为核心的程序设计范式。泛型程序设计(GP)与面向对象程序设计(OOP)两者都是在程序设计时除去不稳定的部分,用更加通用的并且效率更高的部分来构造程序。尽管通用性和效率这两个特性被认为是相互对立的,但是仍然期望能在程序开发的大多数情况下实现两者之间的平衡,从而在确保类型安全的前提下加快程序开发的速度。总结了不同设计风格的主流程序设计语言有关泛型设施的异同。对于面向对象程序设计语言,以Java为例,Java的参数化类型和泛型约束之间紧耦合,描述的泛型需求过于狭窄,只能称之为窄义的约束;对于动态类型程序设计语言,以Python为例,动态类型语言天然地支持泛型,没有严格的类型定义格式,可以随时改变参数类型,泛型约束机制近乎没有;对于函数式程序设计语言,以Scala为例,Scala的Implicits机制基于面向对象程序设计风格,支持关联类型,对泛型概念特性有着良好的支持,但依旧具有隐式参数。研究了现今主流程序设计语言中的泛型约束方法及其安全机制,因为主流语言其他设施的影响,语言抽象程度不高,难以描述复杂的语义需求,大部分主流语言对于泛型约束的支持还停留在语法层面,缺乏规范的约束描述语言,难以直接写出满足需求的泛型约束。以高度抽象的泛型程序设计语言Apla为宿主语言提出了基于完整GP类型需求的泛型约束方法,同时支持语法层和语义层的泛型约束。给出了Apla类型系统,使用一阶谓词逻辑公式的形式刻画了基本数据类型约束,基于代数结构描述了自定义抽象数据类型约束。给出了通用规范的泛型约束描述语言。提出了Apla泛型约束的安全机制,通过约束匹配检测的方式保证类型安全性。设计了匹配检测算法来判定泛型约束是否满足需求,以实际算法为例展示了匹配检测的全过程。最后,以PAR方法为支撑,在PAR平台C++生成系统中实现了Apla泛型约束安全机制的功能。相较于现有研究,更进一步实现了完整意义上以类型需求为核心的GP概念。
其他文献
本文以深圳市的本地社区居民与外来流动人口两大群体为例,探讨移民融入程度与各群体的安全感之间存在着怎样的关系。研究发现流动人口的安全感与本地居民相比更低,他们的安全
目前,以微电子设备为主要构成部件的微机继电保护装置已经广泛地应用在电力系统中各电压等级的发电厂、变电站中。微机继电保护装置的可靠性、抗干扰性及电磁兼容性对电力系
目的分析腹腔镜技术治疗泌尿系统肿瘤的临床效果。方法随机选取吉林市中心医院收治的泌尿系统肿瘤患者62例,观察组31例予以腹腔镜技术治疗,对照组31例予以传统手术方法治疗,
伊利盆地是在天山造山带所夹持的微地块上发展演化而形成的山间叠舍盆地,尼勒克断陷盆地位于伊利盆地东北部,从尼勒克县城西侧起,沿喀什河直至其源头一带,呈近东西向。乌拉斯台勘
《深圳经济特区控制吸烟条例》自2014年3月1日施行以来,深圳公共场所控烟活动取得了明显成效。本文以深圳市某区卫生监督部门2015年11月至2016年10月控烟执法情况为例,总结控烟
经颅多普勒超声测定正常成人脑底动脉及颈动脉血流速度湖南省金融康复医院(410200)尹爱友,何逢难,卢湘群国内外有关正常人脑底动脉血流速度参考值的报道较多[1~7]。本文通过对450例正常成人脑底
目的探讨重复经颅磁刺激联合心理护理治疗抑郁症的疗效。方法将焦虑症患者按随机分组法分为实验组(39例,重复经颅磁刺激结合心理护理组)和对照组(37例,重复经颅磁刺激组),观察4周
安溪铁观音具有特殊的“音韵”,是铁观音风靡全球的原因之一。对于“音韵”,不同的茶人,包括茶叶专家都有不同的表述。有的讲:“观音韵兰花香”、有的认为“如毛主席的诗词,恢宏大
当前,各地各部门都在深入学习贯彻习近平总书记提出的“三严三实”的重要讲话精神,组织部门作为担负干部管理、党员管理、人才管理等重要职能部门,要成为讲政治、重公道、业务精
社会工作作为一种新介入的机制对社会养老服务体系发展具有重要影响。本文在分析社工介入社会养老服务体系建设的必要性基础上,阐述了几种社工介入社会养老服务体的方法途径,