This week's book giveaway is in the General Computing forum. We're giving away four copies of Arduino in Action and have Martin Evans, Joshua Noble, and Jordan Hochenbaum on-line! See this thread for details.
Polymorphism is a word used for various things. I think "compile time polymorphism" and "runtime polymorphism" are especially poor phrases, and make it appear that the two concepts are related. They are not.
You should just use the words "overriding" and "overloading".
satya dasika wrote:My friend said the only example for real time polymorphism is over riding and for compile time its over loading...
I'm totally with Stephan on this one; the term "compile-time polymorphism" is an oxymoron to me, and also doesn't describe method overloading precisely (although I am aware that the term is used that way).
Polymorphism (overriding) is about providing different behaviour; method overloading is usually about providing variants of the same behaviour, and is therefore a form of specialization. Overloaded methods will also typically share a lot of code; indeed they may well be the same code, just called with different defaults or with different primitive arguments.
satya dasika wrote:is it true that no other example exists except for these?
It depends what you mean by "example". In the general terms you describe, I would say that there's only one form of polymorphism, but I am admittedly old-school.
Isn't it funny how there's always time and money enough to do it WRONG?