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:暂时理解到这里,问完待续~
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。