Java设计模式之装饰模式

首先我们来看这张图
其中Waiter是一个接口 里面定义了service方法

其中Waitress 实现了这个接口然后实现了该方法

但是我想改变Waitress里面的service的方法(前提是Waitress里面的代码不能更改 而且也不用继承 那么我该怎么办?)
别着急 往下看 引出了装饰模式
WaitressWrap

来看上面这段代码 同样实现了Waiter的接口
通过一个有参构造(传递了该接口)
然后更改其中的service方法
下面则是使用的方法

结果如下!!
