设计模式之模板方法设计模式

什么是模板方法模式

父类抽象出子类共有的方法,子类实现各自不同的业务。

总之就是一种行为有他们共同的方法,只是他们具体的实现不一样。比如开车这种行为模式,启动-->换挡-->踩油门。每种型号品牌的车都有共同的行为,但是不同型号品牌的车的实现方式可能不同,需要每个品牌型号的车自己实现这些功能。这样的定义上面行为的模式,称之为模板方法设计模式。

定义模板

public abstract class AbstractCar {
    // 启动
    public abstract void star();
    // 换挡
    public abstract void shift();
    // 踩油门
    public abstract void stepGas();

    public void runCar(){
        star();
        shift();
        stepGas();
    }

}

 子类实现

public class BMWCar extends AbstractCar {

    @Override
    protected void star() {
        System.out.println("宝马一键启动");
    }

    @Override
    protected void shift() {
        System.out.println("宝马换挡");
    }

    @Override
    protected void stepGas() {
        System.out.println("宝马踩油门");
    }

}

。。。其他车辆实现

 

启动车辆

AbstractCar car = new BMWCar();
car.runCar();

总结

模板方法设计模式最核心的是一组行为里面有着共同的行为,但是他们的具体实现不同。

你可能感兴趣的:(设计模式)