Related articles |
---|
Q: OO type systems Daniel.Vogelheim@post.rwth-aachen.de (1998-09-13) |
Re: Q: OO type systems schnette@tat.physik.uni-tuebingen.de (Erik Schnetter) (1998-09-18) |
From: | Daniel.Vogelheim@post.rwth-aachen.de (Daniel Vogelheim) |
Newsgroups: | comp.object,comp.compilers |
Date: | 13 Sep 1998 23:00:54 -0400 |
Organization: | Aachen University of Technology / Rechnerbetrieb Informatik |
Keywords: | OOP, types |
Hello y'all,
In most single-inheritance oject oriented languages, interface
inheritance and implementation (code) inheritance are identified in a
single construct. Many multiple-inheritance languages (like C++ and
Eiffel) have adapted this scheme to multiple inheritance, while others
chose allow arbitrary (non-cyclic) interface inheritance, but restrict
multiple code inheritance.
For example, the Sather language allows only classes at the bottom of
the hierarchy (ie, classes with no siblings) to have code, which must
be "inherited" via a separate statement. Java allows arbitrary
interface inheritance, but only single interface+implementation
inheritance, effectively embedding an implementation inheritance tree
in the interface inheritance DAG. Many research languages seem to
follow similar trends.
I wonder, why is this done? Especially, what are the implications for
compiler implementations of the respective languages?
Thank you,
Daniel Vogelheim
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.