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

Regarding Polymorphism

 
Rick Charles
Greenhorn
Posts: 25
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
How would you explain Compile time and Runtime polymorphism? And also can someone explain me about dynamic dispatch?
[ April 11, 2007: Message edited by: Rick Charles ]
 
Jan Cumps
Bartender
Posts: 2588
11
C++ Linux Netbeans IDE
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Polymorphism:
Definition of Richard G. Baldwin (His Introductory Java Programming Tutorial will get you started):
compile-time polymorphism: method overloading
runtime polymorphism: method overriding and inheritance

Dynamic dispatch is explained in wikipedia.

Regards, Jan
[ April 11, 2007: Message edited by: Jan Cumps ]
 
Campbell Ritchie
Sheriff
Pie
Posts: 48930
60
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Sounds more like a beginner's question to me.

I thought polymorphism was only seen at runtime. You will find lots of examples. Imagine you have a superclass, and you have subclasses; they can have methods which have the same signature (overridden) which use different operations. Example:-At compile time all the compiler will notice is that each of these three concrete classes extends Shape, and has a getArea() method. Also that the return types are compatible (in this case all the same, double).
Now, at runtime, you can create different subclasses of Shape:Your compiler can't tell whether you will enter 1 for Circle or 2 for Square or 3 for Triangle. But each has a getArea() method which the JVM finds and uses at Runtime.

try it
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic