Multiple inheritance

Multiple inheritance

Multiple inheritance is a feature of some object-oriented computer programming languages in which an object or class can inherit features from more than one parent object or parent class. It is distinct from single inheritance, where an object or class may only inherit from one particular object or class.

Comment
enMultiple inheritance is a feature of some object-oriented computer programming languages in which an object or class can inherit features from more than one parent object or parent class. It is distinct from single inheritance, where an object or class may only inherit from one particular object or class.
Depiction
Diamond inheritance.svg
Has abstract
enMultiple inheritance is a feature of some object-oriented computer programming languages in which an object or class can inherit features from more than one parent object or parent class. It is distinct from single inheritance, where an object or class may only inherit from one particular object or class. Multiple inheritance has been a controversial 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 parent class a particular feature is inherited from if more than one parent class implements said feature. This can be addressed in various ways, including using virtual inheritance. Alternate methods of object composition not based on inheritance such as mixins and traits have also been proposed to address the ambiguity.
Hypernym
Feature
Is primary topic of
Multiple inheritance
Label
enMultiple inheritance
Link from a Wikipage to an external page
www.cs.kuleuven.ac.be/~eddy/PUBLICATIONS/DAW2004.pdf
citeseer.ist.psu.edu/viewdoc/download%3Fdoi=10.1.1.23.4735&rep=rep1&type=pdf
docs.eiffel.com/book/method/et-inheritance
rhettinger.wordpress.com/2011/05/26/super-considered-super/
web.archive.org/web/20091129231735/http:/caml.inria.fr/pub/docs/manual-ocaml/manual005.html%23toc26
Link from a Wikipage to another Wikipage
Abstract method
ActionScript
Ada (programming language)
Bertrand Meyer
C++
C3 linearization
Category:Class (computer programming)
Class (computer programming)
Common Lisp
Common Lisp Object System
Constructor (computer science)
C Sharp (programming language)
Curl (programming language)
D (programming language)
Depth-first search
Directed graph
Dylan (programming language)
Dynamic dispatch
Eiffel (programming language)
EuLisp
File:Diamond inheritance.svg
Fortran
Go (programming language)
Graphical user interface
IBM System Object Model
Incr Tcl
Inheritance (object-oriented programming)
Interface (Java)
Io (programming language)
Java (programming language)
JavaFX Script
Kotlin (programming language)
Logtalk
Metaobject
Method overriding (programming)
Mixin
Modular programming
Nemerle
Nixon diamond
Object composition
Objective-C
Object-oriented programming
Object Pascal
Object REXX
OCaml
Perl
PHP
PHP (programming language)
Picolisp
POP-11
Programming language
Protocol (object-oriented programming)
Python (programming language)
R (programming language)
Raku (programming language)
Ruby (programming language)
Scala (programming language)
Single inheritance
Smalltalk
Software development
Superclass (computer science)
Swift (programming language)
Tcl
Trait (computer programming)
Traits class
Virtual inheritance
SameAs
95yM
Çoklu kalıtım
Ereditarietà multipla
Herança múltipla
Herencia múltiple
Héritage multiple
m.04y50
Mehrfachvererbung
Moniperintä
Pewarisan berbilang
Q1070739
Vícenásobná dědičnost
Множественное наследование
Множинне успадкування
وراثة متعددة
وراثت چندگانه
多重继承
다중 상속
SeeAlso
Comparison of C Sharp
Java
Subject
Category:Class (computer programming)
Thumbnail
Diamond inheritance.svg?width=300
WasDerivedFrom
Multiple inheritance?oldid=1123364892&ns=0
WikiPageLength
20963
Wikipage page ID
19550
Wikipage revision ID
1123364892
WikiPageUsesTemplate
Template:Cite book
Template:Cite journal
Template:ISBN
Template:More citations needed
Template:Reflist
Template:See also