Scalable extensibility via nested inheritance

Scalable extensibility via nested inheritance
复制标题

通过嵌套继承实现可扩展性

DOI:
10.1145/1028976.1028986
复制
发表时间:
2004
期刊:
Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
影响因子:
--
通讯作者:
A. Myers
A. Myers
中科院分区:
--
文献类型:
--
作者:
Nathaniel Nystrom;Stephen Chong;A. Myers

文献摘要

参考文献

被引文献

相似文献

继承是分解和重用代码的有用机制。但是,它在构建可扩展系统方面存在局限性。我们描述了嵌套继承,一种解决普通继承和其他代码重用机制的一些限制的机制。使用我们的经验与可扩展的编译器框架,我们展示了如何嵌套继承可以用来构建高度可扩展的软件框架。嵌套继承的基本方面是形式化的一个简单的面向对象的语言与操作语义和类型系统。这种语言的类型系统是健全的,因此不需要运行时类型检查来实现它,也不会发生运行时类型错误。我们将嵌套继承的实现描述为Java语言的一个不引人注目的扩展,称为Jx。我们的原型实现将Jx代码转换为普通的Java代码,而不复制继承的代码。
Inheritance is a useful mechanism for factoring and reusing code. However, it has limitations for building extensible systems. We describe nested inheritance, a mechanism that addresses some of the limitations of ordinary inheritance and other code reuse mechanisms. Using our experience with an extensible compiler framework, we show how nested inheritance can be used to construct highly extensible software frameworks. The essential aspects of nested inheritance are formalized in a simple object-oriented language with an operational semantics and type system. The type system of this language is sound, so no run-time type checking is required to implement it and no run-time type errors can occur. We describe our implementation of nested inheritance as an unobtrusive extension of the Java language, called Jx. Our prototype implementation translates Jx code to ordinary Java code, without duplicating inherited code.
DOI: 10.1007/bfb0053381
发表时间: 1997-01-01
期刊: ECOOP'97: OBJECT-ORIENTED PROGRAMMING
影响因子: --
作者:
Kiczales, G;Lamping, J;Irwin, J
通讯作者: Irwin, J