千峰Java教程:061. 抽象类应用——模板方法模式

本文深入探讨了设计模式中的模板方法模式,通过一个具体的Java代码示例,展示了如何使用抽象类定义算法骨架,并允许子类在不改变算法结构的前提下,重新定义某些步骤。此模式在权限管理和用户操作场景中尤为适用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

12、抽象类应用——模板方法模式

模板方法模式(Templete Method):定义一个操作中的算法骨架,而将一些可变部分的实现延迟到子类中。模板方式模式使得子类可以不改变一个算法的结构即可重新定义该算法的某些特定步骤。

public class Demo1
{
	public static void main(String[] args)
	{
		UserManager um = new UserManager();
		um.action("admin", "add");        //这边先进入父类的action方法,发现admin跟um的admin一样,就可执行子类的excute
					        //方法,add跟action后面的add相同,所以最后输出“执行了添加程序”
	}
}

abstract class BaseManager
{
	public void action(String name, String method)
	{
		if("admin".equals(name))
		{
			excute(method);
		}
		else
		{
			System.out.println("你没有管理员权限,请联系管理员");
		}
	}
	public abstract void excute(String method);	//这个是excute方法的骨架,加上这个以后,这个类就变成了父类,上面那
							//个if大括号里的excute方法在下面的子类里面出现,所以下面UserManager
							//后面要加extends BaseManager
}

class UserManager extends BaseManager
{
	//用户数否登陆的验证
	//验证成功后才能进行以下操作
	//如何验证呢?放到父类中去验证!
	public void excute(String method)
	{
		if("add".equals(method))
		{
			System.out.println("执行了添加程序");
		}
		else if("del".equals(method))
		{
			System.out.println("执行了删除程序");
		}
	}
}
/*
结果:
执行了添加程序
*/

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值