6533b7cffe1ef96bd12583d9

RESEARCH PRODUCT

Reverse inheritance in statically typed object-oriented programming languages

Philippe LahireCiprian-bogdan ChirilaMarkku SakkinenIoan Jurca

subject

Composition over inheritanceGeneric programmingComputer scienceProgramming languageMultiple inheritanceObject-based languageSoftware_PROGRAMMINGTECHNIQUESEiffelcomputer.software_genreClass-based programmingInheritance (object-oriented programming)Singly rooted hierarchycomputercomputer.programming_language

description

Reverse inheritance is a new class reuse mechanism, an experimental implementation of which we have built for Eiffel. It enables a more natural design approach, factorization of common features (members), insertion of classes into an existing hierarchy etc. Due to its reuse potential in Eiffel we consider exploring its capabilities in other industrial-strength programming languages like C++, Java and C#.

https://doi.org/10.1145/1929999.1930004