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".
The mind is a strange and wonderful thing. I'm not sure that it will ever be able to figure itself out, everything else, maybe. From the atom to the universe, everything, except itself.
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.
Bats fly at night, 'cause they aren't we. And if we tried, we'd hit a tree -- Ogden Nash (or should've been).
Articles by Winston can be found here