装饰者设计模式
来源:互联网 发布:java重写 有什么用 编辑:程序博客网 时间:2024/05/29 08:39
装饰者设计模式
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类)都要实现同一个接口或者继承同一个类
- 装饰者要有被装饰者的引用 (通过有参数构造器来实现)
- 对需要的方法加强
- 不需要的方法不变
0 0
- 装饰者设计模式
- 设计模式 - 装饰者
- 装饰者设计模式
- 装饰者设计模式
- 装饰者设计模式
- 装饰者设计模式
- 装饰者设计模式
- 装饰者设计模式
- 装饰者设计模式
- 装饰者设计模式
- 装饰者设计模式
- 装饰者设计模式
- 装饰者设计模式
- 装饰者设计模式
- 装饰者设计模式
- 装饰者设计模式
- 装饰者设计模式
- 装饰者设计模式
- 【转】TCP为什么需要三次握手?
- UnityShader 屏幕特效入门前
- hadoop的克隆注意点
- yum安装之-安装mysql--技术支持TPshop商城
- Linux文件系统
- 装饰者设计模式
- 坚持#第179天~虽然磨难无量,但是前途也无量、学以致用
- 调用系统相机摄像和截图
- RHCSA
- Codeforces Round #411 (Div. 2) D. Minimum number of steps
- web学习第一节练习
- # linear regression & logistics regression学习笔记
- nginx 服务器重启命令,关闭
- 当良心受到一万点伤害时,你会选择利益还是良心