BLV03 (In proceedings)
|
Author(s) | Lorenzo Bettini, Michele Loreti and Betti Venneri |
Title | « On Multiple Inheritance in Java » |
In | Technology of Object-Oriented Languages, Systems and Architectures, Proc. of TOOLS Eastern Europe 2002 |
Editor(s) | Theo D'Hondt |
Page(s) | 1-15 |
Year | 2003 |
Publisher | Kluwer Academic Publishers |
URL | http://music.dsi.unifi.it/papers/multipinh.ps.gz |
Abstract |
The presence of Multiple Inheritance in a language raises subtle problems related to possible ambiguities. To avoid handling these difficulties, many languages, including Java, do not support multiple inheritance. This paper studies the problem of implementing multiple inheritance in a class-based language that does not provide it. In particular we propose an experimental extension of Java, MJava, which enables multiple inheritance, and a precompilation process translating MJava programs into standard Java programs. This translation process is automatic and transparent to the programmer. The distinguishing feature of our proposal is that crucial semantic aspects of multiple inheritance, related to overriding and subtyping, are preserved by the translation process. We show that such aspects are not preserved in other alternative solutions, presented in the literature, which rely on simulating multiple inheritance by delegation techniques. We will also show that, due to language features, some problems still arise concerning protected methods. |
@inproceedings{BLV03,
author = {Bettini, Lorenzo and Loreti, Michele and Venneri, Betti},
booktitle = {Technology of Object-Oriented Languages, Systems and
Architectures, Proc. of TOOLS Eastern Europe 2002},
editor = {Theo D'Hondt},
url = {http://music.dsi.unifi.it/papers/multipinh.ps.gz},
title = {{On Multiple Inheritance in Java}},
abstract = {The presence of Multiple Inheritance in a language raises subtle
problems related to possible ambiguities. To avoid handling these
difficulties, many languages, including Java, do not support
multiple inheritance. This paper studies the problem of
implementing multiple inheritance in a class-based language that
does not provide it. In particular we propose an experimental
extension of Java, MJava, which enables multiple inheritance, and
a precompilation process translating MJava programs into standard
Java programs. This translation process is automatic and
transparent to the programmer. The distinguishing feature of our
proposal is that crucial semantic aspects of multiple inheritance,
related to overriding and subtyping, are preserved by the
translation process. We show that such aspects are not preserved
in other alternative solutions, presented in the literature, which
rely on simulating multiple inheritance by delegation techniques.
We will also show that, due to language features, some problems
still arise concerning protected methods.},
publisher = {Kluwer Academic Publishers},
pages = {1-15},
year = {2003},
}
This document was generated by bib2html 3.3.
(Modified by Luca Paolini, under the GNU General Public License)