装饰者模式
总结一下今天的学习内容:
装饰着者模式的使用步骤:
1.装饰者和被装饰者实现同一个接口或者继承同一个类
2.装饰者中要有被装饰者的引用
3.对需要增强的方法进行加强
4.对不需要加强的方法调用原来方法
通过以下代码为例:
首先,定义一个Car接口:
public interface Car {
void run();
void stop();
}
这是一个实现Car的接口,重写了Car的run和stop方法:
public class QQ implements Car {
@Override
public void run() {
System.out.println("qq在跑");
}
@Override
public void stop() {
System.out.println("刹得住车");
}
}
写一个主函数:
public class TTT {
public static void main(String[] args) {
QQ qq = new QQ();
qq.run();
qq.stop();
}
}
运行可得:
qq在跑
刹得住车
接着,装饰者实现Car这个接口。装饰者中要有被装饰者的引用,将car传入CarWrap构造方法中。对于需要增强的方法run(),我们可以重写该方法。对于不需要增强的方法,则调用原来的方法即可。
public class CarWarp implements Car {
private Car car;
public CarWarp(Car car){
this.car=car;
}
@Override
public void run() {
System.out.println("加上电池");
System.out.println("我终于可以5秒破百了..");
}
@Override
public void stop() {
car.stop();
}
}
写一个测试函数:
public class TTT {
public static void main(String[] args) {
CarWarp warp = new CarWarp(qq);
warp.run();
warp.stop();
}
}
运行可得:
加上电池
我终于可以5秒破百了..
刹得住车

浙公网安备 33010602011771号