装饰者模式(静态代理)
我们需要对一个方法进行增强时有以下办法
1.继承
2.装饰者模式(静态代理)
3.动态代理
一、装饰者模式:
使用步骤:
1.装饰者和被装饰者实现同一个接口或者继承同一个类
2.装饰者中要有被装饰者的引用
3.对需要增强的方法进行加强
4.对不需要加强的方法调用原来方法
二、代码实现
接口:
package com.one;
//车接口
public interface Car {
// 跑的方法
void run();
// 停的方法
void stop();
}
原方法:
package com.one;
public class Bus implements Car {
@Override
public void run() {
System.out.println("公交车正常的跑");
}
@Override
public void stop() {
System.out.println("公交车正常的停");
}
}
增强方法:
package com.one;
public class StrBus implements Car {
private Car car;
// 将被装饰者的引用传 进来进行装饰成装饰者
public StrBus(Car car) {
this.car = car;
}
@Override
public void run() {
// 对需要进行加强的 方法进行加强
System.out.println("加强版的公交车快速的跑");
}
@Override
public void stop() {
// 不需要加强的方法调用原来的方法
car.stop();
}
}
三、图示:
备注:由于个人原因,本博客暂停更新。如有问题可联系本人,本人提供技术指导、学习方向、学习路线。本人微信wlp1156107728(添加注明来意) QQ1156107728(添加注明来意)