您的位置:首页 > 其它

装饰者设计模式

2017-05-05 22:18 246 查看

装饰者设计模式

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类)都要实现同一个接口或者继承同一个类

装饰者要有被装饰者的引用 (通过有参数构造器来实现)

对需要的方法加强

不需要的方法不变
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  设计模式