- 定义了一个接口
IEat
,其中包含了一个get()
方法。 - 实现了一个真实主题类
EatReal
,它实现了IEat
接口,并实现了get()
方法,用于真正执行吃食物的操作。 - 实现了一个代理主题类
EatProxy
,它也实现了IEat
接口,内部持有一个IEat
类型的成员变量eat
,用于代理真实主题类。- 在
get()
方法中,代理主题类在调用真实主题类之前会执行一些准备工作(prepare()
方法),然后调用真实主题类的get()
方法,最后执行一些清理工作(clear()
方法)。
- 在
- 在
javaDemo
类的main
方法中,创建了一个代理对象EatProxy
,并将真实主题对象EatReal
传入代理对象的构造函数中。 - 最后调用代理对象的
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(); } }
java简单代理模式的实现
最新推荐文章于 2024-07-09 21:52:25 发布