ALERT

Cisco CloudCenter: Get the Hybrid IT Advantage

Multiple Inheritance

Definition - What does Multiple Inheritance mean?

Multiple inheritance a feature of some object-oriented programming languages in which a class or an object inherits characteristics and properties from more than one parent class or object. This is contrary to the single inheritance property, which allows an object or class to inherit from one specific object or class. Although there are certain benefits associated with multiple inheritance, it does increase ambiguity and complexity when not designed or implemented properly.

Techopedia explains Multiple Inheritance

Unlike single inheritance, multiple inheritance has symmetrical merging and asymmetric extension from an inheritance perspective. When the characteristics of one set do not depend on the characteristics of the other set, multiple inheritance is likely to be more advantageous. In other words, multiple inheritance is more useful when the separation of characteristics of objects into orthogonal sets is possible. Multiple inheritance is useful in the case of an adapter pattern. It allows for one interface to be adapted by another. Another benefit of multiple inheritance is associated with the observer pattern. In this pattern, the calls can keep a list of functions/observers that can be notified by some change by calling one of the functions. Examples of programming languages which support multiple inheritance are C++, Python, Perl, Eiffel, Dylan, Curl, Eulisp and Tcl. Java is one of the most prominent programming languages which does not support multiple inheritance.

However, there are some drawbacks associated with multiple inheritance. The feature complicates the method dispatch and also brings additional scrutiny to the application. Multiple inheritance would need the awareness of dependencies, especially related to method selections. Moreover, protocols using multiple inheritance would need more documentation than those using single inheritance.

Share this:

Connect with us

Email Newsletter

Join thousands of others with our weekly newsletter

Resources
The 4th Era of IT Infrastructure: Superconverged Systems
The 4th Era of IT Infrastructure: Superconverged Systems:
Learn the benefits and limitations of the 3 generations of IT infrastructure – siloed, converged and hyperconverged – and discover how the 4th...
Approaches and Benefits of Network Virtualization
Approaches and Benefits of Network Virtualization:
Businesses today aspire to achieve a software-defined datacenter (SDDC) to enhance business agility and reduce operational complexity. However, the...
Free E-Book: Public Cloud Guide
Free E-Book: Public Cloud Guide:
This white paper is for leaders of Operations, Engineering, or Infrastructure teams who are creating or executing an IT roadmap.
Free Tool: Virtual Health Monitor
Free Tool: Virtual Health Monitor:
Virtual Health Monitor is a free virtualization monitoring and reporting tool for VMware, Hyper-V, RHEV, and XenServer environments.
Free 30 Day Trial – Turbonomic
Free 30 Day Trial – Turbonomic:
Turbonomic delivers an autonomic platform where virtual and cloud environments self-manage in real-time to assure application performance.