抽象类的应用知识:模板方法设计模式含有例子

使用场景:

当系统中同一个功能多出在开发,而该功能大部分代码是一样的,只有其中部分可能不同的时候。

模板方法的实现步骤:

把功能定义成一个所谓的模板方法,放在抽象类中,模板方法中只定义通用且能够确定的代码。

模板方法中不能决定的功能定义成抽象发发上具体子类实现,提高代码的复用性

案例

有一个中学生和小学生同时写一篇作文,要求每种类型的学生,第一段和最后一段内容必须一样,正文自己发挥,选择最优的面向对象方案进行设计



/**
 * 模板方法设计
 * @author ASUS
 *
 */
public abstract class Student {
	public final void write() {//加上final防止子类重写,模板方法是直接给子类使用的,重写了模板方法就失效了
		//加上final更安全更专业
		
		//正文第一段要求一样
		System.out.println("我的家乡非常的美丽。");

		writeMain();

		//最后一段要求一样
		System.out.println("我真的太爱我的家乡了!");
		
	}
	/**
	 * 正文部分,声明为抽象方法要求每个对象都是自己写正文部分
	 * @return
	 */
	public  abstract  String  writeMain();

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小萌新上大分

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值