作者:夏雨之唯美 | 来源:互联网 | 2023-10-11 11:38
利用多态可以使程序具备良好的扩展性,并能对所有类对象做通用处理~下面以一个实例做练习,体会多态的用法和作用~Code:publicclassQuadrangle{实例化
利用多态可以使程序具备良好的扩展性,并能对所有类对象做通用处理~下面以一个实例做练习,体会多态的用法和作用~
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[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:暂时理解到这里,问完待续~
Java每日小练(二)之“多态”,布布扣,bubuko.com