利用多態可以使程序具有良好的擴展性,並可以對所有類對象進行通用的處理。
例子:
父類:
public class Test {
public void draw(Test s){ //定義一個draw()方法,參數爲父類對象
}
}
第一個子類:
public class Test2 extends Test{ //繼承父類
public Test2(){ //構造方法
System.out.println("這是第一個子類構造方法");
}
}
第二個子類及main主方法:
public class Test3 extends Test{ //繼承父類
public Test3(){ //構造方法
System.out.println("這是第二個子類構造方法");
}
public static void main(String[] args) {
Test p=new Test(); //實例化父類對象
p.draw(new Test2()); //實例化第一個子類對象,調用draw()方法
p.draw(new Test3()); //實例化第二個子類對象,調用draw()方法
}
}
從這個例子可以看出,以不同類對象爲參數調用draw()方法可以處理不同的圖形問題。使用多態節省了開發和維護時間,程序員無須在所有子類中定義執行相同功能的方法,避免了大量重複代碼的開發,同時只要實例化一個繼承父類的子類對象即可調用相應的方法,這裏只要維護父類中的這個方法即可。