装饰者设计模式
2017-05-05 22:18
246 查看
装饰者设计模式
package Decorator_Pattern; public interface Car { public void run(); public void stop(); }
package Decorator_Pattern; public class QQ implements Car { public void run(){ System.out.println("QQ可以跑"); } @Override public void stop(){ System.out.println("可以刹车"); } }
package Decorator_Pattern; public class WarpCar implements Car { private Car car; public WarpCar(Car car){ this.car = car ; } @Override public void run() { System.out.println("改装后的汽车可以跑得更快"); } @Override public void stop() { car.stop(); } }
“`
package Decorator_Pattern;
public class Init {
public static void main(String[] args) { QQ qq=new QQ();
// qq.run(); 原本的方法
// qq.stop();
WarpCar warp = new WarpCar(qq); warp.run(); //对原qq方法加强后的方法 warp.stop(); }
}
装饰者模式的设计步骤:
装饰者(WarpCar类)和被装饰者(QQ类)都要实现同一个接口或者继承同一个类装饰者要有被装饰者的引用 (通过有参数构造器来实现)
对需要的方法加强
不需要的方法不变
相关文章推荐
- 设计模式--装饰者模式
- 设计模式之Decorator(装饰者)
- Net设计模式实例之装饰者模式(Decorator Pattern)(2)
- Net设计模式实例之装饰者模式(Decorator Pattern)(1)
- [设计模式]head first 设计模式之PHP实现 第三章 装饰者模式
- 设计模式之装饰者模式
- 设计模式笔记3(装饰者模式)
- 装饰者设计模式
- Net设计模式实例之装饰者模式(Decorator Pattern)
- 白话设计模式 --结构型模式--装饰者(Decorator)模式,适配器模式和外观模式
- Head First 设计模式 读书摘记(四) 装饰者模式 C#代码
- 设计模式学习3——装饰者模式(Decorator)
- 设计模式示例二 Decorator(装饰者)
- 设计模式学习笔记之 装饰者模式
- 设计模式随笔系列:来杯咖啡-装饰者模式(Decorator)[转]
- 设计模式示例二 Decorator(装饰者)
- 设计模式-装饰者模式
- ABAP与设计模式之装饰者模式
- 设计模式--装饰者模式
- 设计模式与泡mm的关系之Decorator装饰者设计模式及装饰者设计模式的再思考