This question is being asked several times in this forum,Still I am not able to understand the concept.If somebody can explain it with real object examples(layman explanation) Why java does not support multiple implementation inheritance? And at the same time C++ does support the multiple implementation inheritance, how does C++ support multiple implementation inheritance? If C++ can support multiple implementation inheritance, why java can�t? I would like to know the reason for not supporting multiple implementation inheritance and where it will create problem for the developers if they use multiple implementation inheritance in java? If somebody knows about it, please try to explain it with examples and proper reasoning.
Sounds very much like a homework assignment, but in any event, Java doesn't support multiple inheritance because its inventor, James Gosling thought (rightly so) it made things Too Complicated. Multiple inheritance causes more problems than it solves, including implementation collisions/ambiguities that are very hard to design around. Plus it led to sloppy coding styles in C++. With interfaces you get most of the benefits of actual multiple inheritance without a lot of the same problems. Yea, I know, some people think differently but hey, it works for me. James Gosling
This thread provides a good description of the drawbacks of multiple inheritance and illustrates those drawbacks using objects. (BTW, Michael Morris gets applause for his fine use of (crypto-) zoology in the referenced thread ) I am pleased to see that the article in the prior post mentioned Objective C. Unlike most people, I come to Java from extensive experience using Objective C. I was wary about coming to Java when I first started for fear that it would prohibit many of the "neat" things we were doing in Objective C. Then I happily discovered that, while syntatically it may look like C++, semantically it takes a lot from the Objective C / Smalltalk world (interfaces, forcing everything to inherit from one base class, Reflection, etc.) [ May 29, 2003: Message edited by: Joel McNary ]
Piscis Babelis est parvus, flavus, et hiridicus, et est probabiliter insolitissima raritas in toto mundo.
All of the world's problems can be solved in a garden - Geoff Lawton. Tiny ad:
RavenDB is an Open Source NoSQL Database that’s fully transactional (ACID) across your database