装饰者设计模式

来源:互联网 发布: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();}

}

装饰者模式的设计步骤:

  1. 装饰者(WarpCar类)和被装饰者(QQ类)都要实现同一个接口或者继承同一个类
  2. 装饰者要有被装饰者的引用 (通过有参数构造器来实现)
  3. 对需要的方法加强
  4. 不需要的方法不变
0 0
原创粉丝点击