Smalltalk-80: the language and its implementation
Smalltalk-80: the language and its implementation
Login: A logic programming language with built-in inheritance
Journal of Logic Programming
The mathematics of inheritance systems
The mathematics of inheritance systems
Object-oriented programming with flavors
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
CommonLoops: merging Lisp and object-oriented programming
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Lowest common ancestors in trees and directed acyclic graphs
Journal of Algorithms
Hi-index | 0.01 |
We study here some problems yielded by multiple inheritance in object-oriented languages. We give an interpretation and a formalism of heritance mechanisms within the framework of partially ordered sets theory. An inheritance mechanism can be regarded as a traversing algorithm of the inheritance graph, and we prove that those which yields linear extension (total order) play a central role.We discuss some operational semantic aspects of multiple inheritance, with the introduction of a concept named by multiplicity. After a presentation of some well-known inheritance algorithms we propose two new algorithms based upon depth-first search techniques and some particular classes of linear extensions, recently studied.We end by applying these results in the case of inheritance with exceptions and by setting a few problems. All these results are implemented in the frame-based language YAFOOL.