Polymorphismin amacı bir nesnenin farklı formlarda olması yeteneğidir.Tabi ki bu cümlede bir şey anlamadınız.Örnek ile kısaca açıklayalım.
public class Animal{ public boolean isAlive(){ return true; } } interface CanRun{ int getSpeed(); } class Cheetah extends Animal implements CanRun{<span style="color:#bbb529">@Override
public int getSpeed() { return 100; }
<span style="color:#cc7832">public static void </span><span style="color:#ffc66d">main</span>(String[] args) { Cheetah c = <span style="color:#cc7832">new </span>Cheetah()<span style="color:#cc7832">; </span><span style="color:#808080">// Cita nesnemizi oluşturduk
System.out.println(c.getSpeed()+" "+c.isAlive()); // Polymorphismi aşağıda canlandırıyoruz. CanRun run = c; System.out.println(run.getSpeed()); // Animal a = c; System.out.println(a.isAlive()); } }
Unutmayın , sadece methodlar ve değişkenler referansların çağırabileceği yerde kullanılabilirler.Yukarıda her şey özetlendi.Şunu yapsaydık compiler hatası alırdık.
System.out.println(run.isAlive()); // yapamazdık çünkü CanRun bir interface ve run adlı referansın kullanabileceği tek method getSpeed()'dir.
Note : The nature of the polymorphism is that an object can take on many different forms.