2005
DOI: 10.5381/jot.2005.4.2.c2
|View full text |Cite
|
Sign up to set email alerts
|

The Theory of Classification Part 17: Multiple Inheritance and the Resolution of Inheritance Conflicts.

Abstract: INTRODUCTIONThis is the seventeenth article in a regular series on object-oriented theory for nonspecialists. Using a second-order λ-calculus model, we have previously modelled the notion of inheritance as a short-hand mechanism for defining subclasses by extending superclass definitions. Initially, we considered the inheritance of type [1] and implementation [2] separately, but later combined both of these in a model of typed inheritance [3]. By simplifying the short-hand inheritance expressions, we showed ho… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

0
4
0

Year Published

2005
2005
2020
2020

Publication Types

Select...
2
2

Relationship

1
3

Authors

Journals

citations
Cited by 4 publications
(4 citation statements)
references
References 9 publications
0
4
0
Order By: Relevance
“…A well-known problem of multiple inheritance is name clashes when different supergrammars use the same production names. See for example [60] for a discussion on the possibilities to resolve these problems for object-oriented programming languages. For the MontiCore grammar format we decided to use the following solution: in the case that two or more supergrammars share a common production name, the new production must be a subtype and thus contain all elements of all productions with that name in the supergrammars.…”
Section: Grammar Inheritancementioning
confidence: 99%
“…A well-known problem of multiple inheritance is name clashes when different supergrammars use the same production names. See for example [60] for a discussion on the possibilities to resolve these problems for object-oriented programming languages. For the MontiCore grammar format we decided to use the following solution: in the case that two or more supergrammars share a common production name, the new production must be a subtype and thus contain all elements of all productions with that name in the supergrammars.…”
Section: Grammar Inheritancementioning
confidence: 99%
“…So, this mechanism is adequate to handle specialisation (when a polymorphic type is replaced by a more restricted polymorphic type [9]) and also the kind of symmetrical type-merger that happens with multiple inheritance (when the polymorphic types of two parent classes become unified in the child [10]). The latter case also extends to languages with a combination of single inheritance and multiple interface satisfaction (the λ-calculus model treats all class-like and interface-like types in the same way).…”
Section: Loves(john Loved) Loves(lover Mary)mentioning
confidence: 99%
“…In earlier articles dealing with inheritance and multiple inheritance, we called this an intersection type [9,10] because the type variable τ is being constrained to accept two different, overlapping sets of types and therefore accepts the intersection of these sets. Accordingly, we used τ <: F[τ] ∧ G[τ] to denote an intersection on the parameter τ.…”
Section: Loves(john Loved) Loves(lover Mary)mentioning
confidence: 99%
“…During the implementation of the injection and transformation from the R2ML XML to the R2ML metamodel, we noticed the well-known "diamond" problem [17], i.e. a multiple inheritance conflict, in the object-oriented paradigm.…”
Section: Conflicting Compositionsmentioning
confidence: 99%