Dealing with Multiple Inheritence in an Object-Oriented Language

"Ed Cynwrig Dengler" <eadengle@watcgl.uwaterloo.ca>
Tue, 1 Sep 1992 14:05:23 GMT

          From comp.compilers

Related articles
Dealing with Multiple Inheritence in an Object-Oriented Language eadengle@watcgl.uwaterloo.ca (Ed Cynwrig Dengler) (1992-09-01)
Re: Dealing with Multiple Inheritence in an Object-Oriented Language preston@helena.cs.rice.edu (1992-09-02)
Re: Dealing with Multiple Inheritence matthew@ntl02.uk.tele.nokia.fi (1992-09-03)
Re: Dealing with Multiple Inheritence in an Object-Oriented Language khattra@sfu.ca (1992-09-03)
| List of all articles for this month |
Newsgroups: comp.compilers
From: "Ed Cynwrig Dengler" <eadengle@watcgl.uwaterloo.ca>
Organization: Compilers Central
Date: Tue, 1 Sep 1992 14:05:23 GMT
Keywords: OOP, design

Greetings!


I am trying to find references to articles that deal with the problems of
dealing with and representing multiple inheritence in a compiled program.
I am also interested in any articles that deal with how large typical
object-oriented classes get (ie. how many features/routines does a typical
class define, how many classes are typically inherited from, how deep the
inheritence tree gets, how often a feature is renamed).


The only reference I have currently is "An Object Addressing Mechanism for
Statically Typed Languages with Multiple Inheritence" by R.C.H. Conner,
A. Dearle, R. Morrison, and A.L. Brown.


The reason for this request is that I am doing a project evaluating
modification of the "map" system presented in the above article, and would
like to compare the original "map" system and the modified one to any
other methods out there.


For example, assuming I had the following class structure:
                                A.a
                                  .b
                              / \
                          B.c C.d (renamed from A's b)
                            .e .c
                              \ /
                                D.f
                                D.g (renamed from C's c)


where: class A has the features a,b
              class B has the features a,b,c,e
              class C has the features a,d,c
              class D has the features a,b,c,d,e,f,g


I am trying to find answers to the following questions:
        a) What other schemes are there?
        b) How is multiple inheritence handled (this includes what restrictions
              the scheme forces on multiple inheritence)?
        c) If an object is assigned to a variable that is of an inherited class
              type, how is the object changed to allow correct addressing of the
              fields/features/routines (eg. an object x of class D is assigned
              to variable y of class C, how is y.c handled)?
        d) Approximately how long would it take to do the assignment and/or
              find a given feature in a variable?
        e) How much space does the cheme take up?


Any references to articles would be greatly appreciated!


Thanks in advance,
Ed Dengler
--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.