What are the advantages of single inheritance over multiple inheritance?
· Multiple inheritance allows a class to inherit the functionality of more than one base class thus allowing for modeling of complex relationships
· You categorize classes in many ways. Multiple inheritance is a way of showing our natural tendency to organize the world. During analysis, for example, we use multiple inheritance to capture the way users classify objects.
· By having multiple super-classes, your subclass has more opportunities to reuse the inherited attributes and operations of the super-classes.
Disadvantages of multiple inheritances:
· Some programming languages (such as Java) do not allow you to use multiple inheritances. You must translate multiple inheritance into single inheritance or individual java interfaces. This can be confusing and difficult to maintain because the implemented code for categorizing objects is quite different fro the way the user organizes those objects. So, when the user changes their mind or adds another category, it is difficult to figure out how to program the new sub classes.
· The more super classes your sub class inherits from the more maintenance you are likely to perform. If one of the super classes happens to change, the sub class may have to change as well.
· When a single sub class inherits the same attribute or operation form different super classes, you must choose exactly which one it must use.
Multiple inheritances can cause a lot of confusion, say when both the classes from which you want the child class to inherit from, has a method with same
The Eiffel language and method was designed from the ground up to have multiple inheritance without ANY of the `gotchas' of languages like Java, C++ and others. The `disadvantages' listed above have nothing to do with MI, but with the technique and technologies listed (e.g. Java or C++). When MI is designed thoughtfully into a language and method, then the `dangers' or `disadvantages' are not there. As an Eiffel engineer, we use MI extensively, safely and beneficially all the time.
Advantages of Inheritance 1) Code Re-usability 2) consumes less time 3) Without changing the super class we can add some more methods in the super class by inheriting it in … (MORE)
the advantage of single inheritance is code reusability, as one class can inherit the features of another other class. Presumably, the larger questions around the advantages o… (MORE)
According to the popular quip, the only things certain in life are death and taxes. If you have ever received an inheritance from a deceased loved one, you know that, in some … (MORE)
No matter where you live in the United States, you may eventually be required to pay taxes on money or property you inherit when someone close to you passes away and leaves yo… (MORE)
dvantages of multiple inheritances:· Multiple inheritance allows a class to inherit the functionality of more than one base class thus allowing for modeling of complex relati… (MORE)
Actually, java does not support multiple inheritance. You can achieve partial multiple inheritance using interfaces but java is not like C or C++ where you can do direct multi… (MORE)
Use virtual base classes. It is best if the common base class has no member variables and all member methods are pure-virtual. The multiple-inheritance class must provide all … (MORE)