Java每天小练(二)之“多态”
Java每日小练(二)之“多态”
利用多态可以使程序具备良好的扩展性,并能对所有类对象做通用处理~下面以一个实例做练习,体会多态的用法和作用~
Code:
public class Quadrangle { //实例化保存四边形对象的数组对象 private Quadrangle[] qtest = new Quadrangle[6]; //每次调用父类的draw()方法时,nextIndex+1,也就是说最多可以创建6个子类~ private int nextIndex = 0; public void draw(Quadrangle q) {//定义draw方法,参数为四边形对象 if(nextIndex < qtest.length) { qtest[nextIndex] = q; System.out.println(nextIndex); nextIndex++; } } public static void main(String[] args) { //实例化一个四边形对象,用于调用draw()方法 Quadrangle q = new Quadrangle(); q.draw(new Square()); //以正方形对象为参数调用draw()方法 q.draw(new Parallelogramgle()); //以平行四边形对象为参数调用draw()方法 } } class Square extends Quadrangle { //定义一个正方形类,继承四边形类 public Square() { System.out.println("正方形"); } } class Parallelogramgle extends Quadrangle { //定义一个平行四边形类,继承四边形类 public Parallelogramgle() { System.out.println("平行四边形"); } }运行结果:
总结:从结果可以看出,以不同子类对象调用draw()方法可以处理不同的问题。一方面,比如在draw()中做一个判断等,就可以对应不同的类对象做不同的处理;另一方面,也可以通过draw()作统一的处理。通过对多态的利用,很明显地节省了代码量、提高了效率、增加了程序的质量~
Ps:暂时理解到这里,问完待续~