java简单代理模式的实现

  1. 定义了一个接口IEat,其中包含了一个get()方法。
  2. 实现了一个真实主题类EatReal,它实现了IEat接口,并实现了get()方法,用于真正执行吃食物的操作。
  3. 实现了一个代理主题类EatProxy,它也实现了IEat接口,内部持有一个IEat类型的成员变量eat,用于代理真实主题类。
    • get()方法中,代理主题类在调用真实主题类之前会执行一些准备工作(prepare()方法),然后调用真实主题类的get()方法,最后执行一些清理工作(clear()方法)。
  4. javaDemo类的main方法中,创建了一个代理对象EatProxy,并将真实主题对象EatReal传入代理对象的构造函数中。
  5. 最后调用代理对象的get()方法来执行吃食物的操作。
    package acc;
    interface IEat{
    	public void get();
    }
    class EatReal implements IEat{
    	public void get() {
    		System.out.println("【真实主题】得到一份食物,而后开始品尝美味。");
    	}
    }
    class EatProxy implements IEat{
    	private IEat eat;
    	public EatProxy(IEat eat) {
    		this.eat=eat;
    	}
    	public void get() {
    		this.prepare();
    		this.eat.get();
    		this.clear();
    	}
    	public void prepare() {
    		System.out.println("【代理主题】1、精心购买食材。");
    		System.out.println("【代理主题】2、小心地处理食材。");
    	}
    	public void clear() {
    		System.out.println("【代理主题】3、收拾碗筷。");
    	}
    }
    public class javaDemo {
    	public static void main(String[] args) {
    		IEat eat=new EatProxy(new EatReal());
    		eat.get();
    	}
    
    }
    

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值