×

在Java中模拟多重继承。 (英语) Zbl 1008.68537号

概要:CentiJ系统自动生成模拟Java多重继承的代码。生成的代码输入了一系列实例,并输出了可以使用多重继承进行组合的规范。实现的多重继承是通过简单的消息转发获得的。Java的反射API用于对实例进行反向工程,因此程序可以生成源代码,但不需要输入源代码。CentiJ的优点包括编译时类型检查、执行速度、自动消歧(名称空间冲突解决)和易于维护。
以前,多重继承的模拟仅适用于执行手动委托或使用动态代理的Java程序员。该技术已在一家大型航空公司应用。

MSC公司:

68单位99 计算方法和应用
68甲15 编程语言理论

软件:

拉克维特
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] 重构,改进现有代码的设计。艾迪森·卫斯理:纽约,纽约,2000年。
[2] 语言无关重构的元模型。IEEE Proceedings ISPSE,2000。citeseer.nj.nec.com/379788.html。
[3] Elbereth:重构Java程序的工具支持。技术报告,加利福尼亚大学圣地亚哥分校计算机科学与工程系,1998年5月。http://citeseer.nj.nec.com/korman98elbereth.html。
[4] 遗留系统的逆向工程和抽象。http://citeseer.nj.nec.com/151140.html。
[5] 强类型继承系统中动态委托的实现。技术报告IAI-TR-94-3,德国波恩大学,1994年。http://citeseer.nj.nec.com/kniesel97delegation.html。
[6] 设计模式。艾迪森·韦斯利:雷丁,马萨诸塞州,1995年。
[7] 使用原型对象实现面向对象系统中的共享行为。面向对象编程系统、语言和应用会议论文集,214-223。
[8] 使用不变量自动支持程序重构。citeseer.nj.nec.com/kataoka01automated.html。
[9] Java中的图像处理。Prentice Hall:上鞍河,新泽西州,1998年。
[10] 原子委托:面向对象的事务。IEEE软件(计算机科学讲义,第1241卷)。IEEE计算机学会:加利福尼亚州洛斯阿拉米托斯,1991:84-92。
[11] 编程语言JIGSAW:混合、模块化和多重继承。犹他大学计算机科学系博士论文,1992年。
[12] C++的设计和发展。艾迪森·韦斯利:雷丁,马萨诸塞州,1994年。
[13] 面向对象的设计。本杰明·卡明斯:加州红木悬崖,1991年。
[14] 通过交叉类型进行多重继承。技术报告ECS-LFCS-93-275,LFCS,爱丁堡大学,1993年。另请参阅奈梅亨天主教大学计算机科学技术报告93-18。http://citeseer.nj.nec.com/compagnoni93multiple.html。
[15] C++的多重继承。1987年5月于芬兰赫尔辛基举行的1987年春季欧洲Unix系统用户小组会议记录。http://citeseer.nj.nec.com/stroustrup99multiple.html。
[16] 重构和聚合。JSSST高级软件对象技术国际研讨会(计算机科学讲稿,第742卷),日本金泽(编辑)。施普林格·弗拉格:柏林,1993年;264-278. http://citeseer.nj.nec.com/johnson93refactoring.html。 ·doi:10.1007/3-540-57342-978
[17] Tempero,《系统与软件杂志》55,第87页–(2000)
[18] Java编程语言(第二版)。艾迪森·韦斯利:雷丁,马萨诸塞州,1998年。
[19] Coad,美国程序员,10 pp 23–(1997)
[20] Java编程语言。艾迪森·韦斯利:雷丁,马萨诸塞州,1996年·Zbl 0876.68015号
[21] 面向对象编程语言中的封装和继承。报告,附属软件技术实验室,Hewlett-Packard Laboratories,P.O.Box 10490,Palo Alto,CA 94303-0971。http://citeseer.nj.nec.com/328789.html。
[22] Cardelli,《信息与计算》76,第138页–(1988年)
[23] Java委派:API还是语言扩展?技术报告IAI-TR-98-5,德国波恩大学,1998年。citeseer.nj.nec.com/kniesel97delegation.html。
[24] 用于运行时组件自适应的类型安全委派。《ECOOP99会议录》(计算机科学讲义,第1628卷),(编辑)。施普林格:柏林,1997年。http://citeseer.nj.nec.com/kniesel99typesafe.html。
[25] 具有子类型的基于委托的对象演算。FCT会议录(计算机科学讲义,第965卷)。施普林格·弗拉格:柏林,1995年;42-61. http://citeseer.nj.nec.com/104746.html。
[26] Lackwit:基于类型推理的程序理解工具。1997年软件工程国际会议论文集(ICSE’96),马萨诸塞州波士顿,1997年5月;338-348. http://citeseer.nj.nec.com/329620.html。
[27] Frank,《面向对象编程杂志》,第13页,第13–(2000年)·Zbl 05432698号 ·doi:10.1016/0164-1212(90)90031-G
[28] 约翰逊,《面向对象编程杂志》,第4页,22–(1991)
[29] 模块-3。普伦蒂斯·霍尔:恩格尔伍德悬崖,新泽西州,1992年。
[30] Cox,IEEE软件1(1982)
[31] Bardou,ACM SIGPLAN通知特别版31第122页–(1996)
[32] 在基于类的语言中,自动委托是多重继承的可行替代方案。报告CS-98-03,微软公司,1998年2月。http://citeseer.nj.nec.com/3325.html。
[33] 技术提示。使用动态代理将新功能分层覆盖现有代码。2000http://developer.java.sun.com/developer/TechTips/2000/tt0530.html〔2000年5月30日〕。
[34] 私人电子邮件通信,kniesel@cs.uni-bonn.de。
[35] 记录串联和多重继承的类型推断。1989年6月,加利福尼亚州太平洋格罗夫,IEEE第四届计算机科学逻辑年会论文集;92-97. http://citeseer.nj.nec.com/wand89type.html。
[36] 大朗?Java的反射式扩展。citeseer.nj.nec.com/449076.html。
[37] Java中的加载时结构反射。ECOOP,2000年;313-336中。http://citseeer.nj.nec.com/chiba00loadtime.html。
[38] 反思Java:让Java更加灵活。电话:剑桥国际,波塞冬宫,城堡公园,剑桥CB3 0RD,英国,1997年。http://citeseer.nj.nec.com/214438.html。
[39] OpenJava:一个基于类的Java宏系统。反思与软件工程(计算机科学讲义,第1826卷),(编辑)。斯普林格,2000年。http://citeseer.nj.nec.com/article/tatsubori00openjava.html。
[40] Java元体系结构的设计和实现。1997年爱尔兰根大学硕士论文。
[41] 静态类型语言的反射。ECOOP98会议录(计算机科学讲义,第1445卷)。施普林格:德国,1998年。
[42] 瓜拉那的反射式建筑。技术报告IC-98-14,计算研究所,坎皮纳斯州立大学,巴西坎皮纳斯,1998年。http://www.dcc.unicamp.br/oliva。
[43] OpenJIT?反射式Java JIT编译器。《C++和Java反思编程研讨会论文集》,UTCCP报告98-4,日本筑波大学计算物理中心,1998年。
[44] 重构面向对象的框架。伊利诺伊大学博士论文,1992年。ftp://st.cs.uiuc.edu/pub/papers/refactoring/。
[45] 通过重构创建抽象超类。CSC’93论文集。ACM出版社,1993年。
[46] 重构和聚合。高级软件的对象技术,第一届JSSST国际研讨会(计算机科学讲义,第742卷)。施普林格:柏林,1993年。
[47] Hauck,SIGPLAN通知28(1993)
[48] 罗伯茨,《对象系统理论与实践》3,第253页–(1997年)
[49] 使用委托进行软件和主题撰写。研究报告RC 20946,IBM Thomas J.Watson研究中心,1999年8月。http://www.research.ibm.com/sop/sopubs.htm。
[50] Java数字信号处理。M&T图书:纽约州纽约市,1998年。
[51] 分析具有动态和多重继承的对象。ECOOP’93第七届面向对象编程欧洲会议。施普林格:德国,1993:329-349。
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。