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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值