装饰者设计模式

xiaoxiao2021-02-28  97

装饰者设计模式

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类)都要实现同一个接口或者继承同一个类装饰者要有被装饰者的引用 (通过有参数构造器来实现)对需要的方法加强不需要的方法不变
转载请注明原文地址: https://www.6miu.com/read-42766.html

最新回复(0)