设计模式之装饰模式
来源:互联网 发布:成都长城开发科技 知乎 编辑:程序博客网 时间:2024/04/27 20:39
Component
public interface Component {public void doSomething();}
ConcreteComponent
public class ConcreteComponent implements Component {@Overridepublic void doSomething() {System.out.println("Function ");}}Decorator
public class Decorator implements Component {private Component component;public Decorator(Component component){this.component = component;}@Overridepublic void doSomething() {this.component.doSomething();}}
ConcreteDecorator1
public class ConcreteDecorator1 extends Decorator {public ConcreteDecorator1(Component component) {super(component);}@Overridepublic void doSomething(){super.doSomething();doAnotherthing();}private void doAnotherthing(){System.out.println("Function 1");}}
ConcreteDecorator2
public class ConcreteDecorator2 extends Decorator {public ConcreteDecorator2(Component component) {super(component);}@Overridepublic void doSomething(){super.doSomething();doAnotherthing();}private void doAnotherthing(){System.out.println("Function 2");}}
Client
public class Client {public static void main(String[] args) {Component component = new ConcreteComponent();Component component2 = new ConcreteDecorator1(component);Component component3 = new ConcreteDecorator2(component2);component3.doSomething();}}
- 设计模式之装饰
- 设计模式之装饰
- 设计模式之装饰
- 设计模式之装饰模式
- 设计模式之装饰模式
- 设计模式之装饰模式
- 设计模式之装饰模式
- 设计模式之装饰模式
- 设计模式之 装饰模式
- 设计模式之-装饰模式
- 设计模式之装饰模式
- 设计模式之装饰模式
- 设计模式之装饰模式
- 设计模式之装饰模式
- 设计模式之装饰模式
- 设计模式之装饰模式
- 设计模式之装饰模式
- 设计模式之装饰模式
- B+树(C++实现)
- 怎么获取网页高度、屏幕高度、滚动高度?
- C#--第三周实验--任务2--输入一个由若干字符组成的字符串,输出其中的大写字母、小写字母、数字和其他字符的个数(控制台应用)
- ASP.NET 成员资格与权限
- DMC实现(一):Developing UPnP AV Framework Control Points
- 设计模式之装饰模式
- 关于自己
- 那时,我们正年轻
- 用C#获取浏览文件夹对话框
- Linux系统VGA启动模式下设置分辨率
- vim的一个较全的介绍
- 数字转换成字符串
- 那些年,我们一起吐槽的iPhone5
- JS判断字符串是否为正整数