• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

why we can't inharit more than one class ?

 
Jigar Naik
Ranch Hand
Posts: 762
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
why we can't inharit more than one class ???
 
Jesper de Jong
Java Cowboy
Saloon Keeper
Posts: 15278
39
Android IntelliJ IDE Java Scala Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Having more than one base class is called multiple inheritance. C++ supports this, Java does not.

In practice, you never really need multiple inheritance, and it leads to dilemmas like the Diamond problem.

The designers of the Java language decided that multiple inheritance wasn't needed and that it only would make the language unnecessarily complicated, so they left it out.
[ May 17, 2007: Message edited by: Jesper Young ]
 
Campbell Ritchie
Sheriff
Pie
Posts: 48938
60
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
As Jesper Young said, because the designers of Java thought it made things too complicated. Whoever designs a language has to make such decisions.
I found a paper yesterday [Martin P (1998): Java, the good, the bad and the ugly ACM SIGPLAN Notices archive 33: 34 - 39] which says the multiple inheritance model in C++ is poor and Eiffel has a better model.
 
Ricky Clarkson
Ranch Hand
Posts: 131
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
In my opinion, single inheritance is one too many. There are better forms of code reuse.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic