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

本文深入探讨了模板方法设计模式的核心概念,通过汽车运行过程的示例,详细解释了如何在父类中定义一组固定步骤,而将具体实现留给子类。此模式适用于一系列行为流程相同但具体操作有所差异的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是模板方法模式

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

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

定义模板

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();

总结

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值