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:暂时理解到这里,问完待续~

Java每日小练(二)之“多态”,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。