10.6 多态
1、概述
利用多态可以使程序具有良好的扩展性,并开对所有类对象进行通用的处理。
在下面例子运行结果可以看出,不同类对象的参数调用draw()方法已处理不同的图形问题。使用多态节省了开发和维护时间,因为程序员无须再所有的子类中定义执行相同功能的方法,避免了大量重复代码的开发,同时只要实例化一个继承父类对象即可调用相应的方法,这了只要维护父类中的这个方法可。
例子10.12
1 public class Quadrangle { 2 //实例化四边形数据对象 3 private Quadrangle[] qtest = new Quadrangle[6]; 4 private int nextIndex = 0; 5 6 //定义draw()方法,参数为四边形对象 7 public void draw(Quadrangle q) { 8 if(nextIndex<qtest.length) { 9 qtest[nextIndex] = q; 10 System.out.println(nextIndex); 11 nextIndex++; 12 } 13 } 14 15 //主方法 16 public static void main(String args) { 17 //实例化二个四边形对象,用于调用draw()方法 18 Quadrangle q = new Quadrangle(); 19 //q.draw(new Square()); 20 //q.draw(new Parallelogramgle()); 21 System.out.println("dddd"); 22 } 23 } 24 25 //定义一个正方形类,继承四边形类 26 class Square extends Quadrangle{ 27 public Square() { 28 System.out.println("正方形"); 29 } 30 } 31 32 //定义一个平行四边形类,继承四边形类 33 class Parallelogramgle extends Quadrangle{ 34 public Parallelogramgle() { 35 System.out.println("平行四边形"); 36 } 37 }