Win a copy of Think Java: How to Think Like a Computer Scientist this week in the Java in General forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

inheritance

 
raja ramesh
Greenhorn
Posts: 25
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Can you please explain the word "Deadly Diamond of Death" ??
 
Deepak Chopra
Ranch Hand
Posts: 433
Eclipse IDE Firefox Browser Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Java doesn't support multiple inheritance because of Deadly Diamond of Death
Lets take an example:
1)take notebook and a pencil and start making a diagram

2)Suppose we have one class A, with method printMe()

3) We have two subclass B and C,Both inherits A,both Override printMe()
A

B C
connect them by arrow.

4) we have one more sublclass D, Now if Java supports multiple inheritance then we can write

class D inherits B,C

which means following :
A

B C

D

connect them by arrow again.

now suppose we have following;



Now tell me which verion of printMe() will be called , one which is defined in B or which is defined in C.
If you know the answer to this question you have understood Deadly diamond..
by the way check your paper you have already got one diamond shape diagram..!!
 
Deepak Chopra
Ranch Hand
Posts: 433
Eclipse IDE Firefox Browser Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
my arrow diagram is not displaying properly here..

Let me try one again:
 
raja ramesh
Greenhorn
Posts: 25
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
ThanQ for early response ..
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic