Multiple inheritance is a feature of some object-oriented computer programming languages in which a class can inherit characteristics and features from more than one superclass. It is distinct to single inheritance, where a class may only inherit from one particular superclass.
Languages that support multiple inheritance include C++, Common Lisp via the Common Lisp Object System, Perl and Python.
Multiple inheritance has been a touchy issue for many years, with opponents pointing to its increased complexity and ambiguity in situations such as the "diamond problem", where it may be ambiguous as to which superclass a particular feature is inherited from if more than one superclass implements said feature. This can be addressed in various ways, including using virtual inheritance.
Read more about Multiple Inheritance: Details, Implementations, The Diamond Problem
Famous quotes containing the words multiple and/or inheritance:
“Creativity seems to emerge from multiple experiences, coupled with a well-supported development of personal resources, including a sense of freedom to venture beyond the known.”
—Loris Malaguzzi (20th century)
“Say not you know another entirely till you have divided an inheritance with him.”
—Johann Kaspar Lavater (17411801)