15.Java基础:设计模式----->装饰模式

来源:互联网 发布:microsoft for mac 编辑:程序博客网 时间:2024/05/17 00:04

1.装饰模式:它可以对一类操作进行功能增强

2.,为了解决在增加功能,产生过多的子类.,就要使用到装饰模式。

3.装饰对象和被装饰对象实现同一个接口

4.实现装饰模式步骤

1.装饰类与被装饰类一般会继承同一个父类或实现同一个接口。

2.在装饰类中持有一个被装饰类的对象。

3.进行功能增强。


下面举一个例子:接口实现对功能增强

//装饰模式public class Test {public static void main(String[] args) {Car c = new Bmw(); //创建一个宝马车Decorate dc = new Decorate(c); //对c进行装饰dc.run();}}//声明一个车interface Car {void run();}//创建2个实现类class Bmw implements Car {public void run() {System.out.println("bmw run......");}}class Benz implements Car {public void run() {System.out.println("benz run......");}}//需求:给run方法添加导航操作class Decorate implements Car { //装饰类与被装饰类实现同一个接口或者继承同一个父类//2.在装饰类中持有一个被装饰类的作用private Car car;public Decorate (Car car) {this.car = car;}//3.功能增强public void run() {System.out.println("导航");car.run();}}

注:BufferedReader就是一个装饰模式的,对Reader进行功能增强

0 0
原创粉丝点击