模板设计模式

模板设计模式

我们现在使用抽象类设计一个模板模式的应用,例如在小学的时候,我们经常写作文,通常都是有模板可以套用的。假如我现在需要定义新司机和老司机类,新司机和老司机都有开
车功能,开车的步骤都一样,只是驾驶时的姿势有点 不同,新司机:开门,点火,双手紧握方向盘,刹车,熄火,老司机:开门,点火,右手握方向盘左手抽烟,刹车,熄火。我们可以 将固定流程
写到父类中,不同的地方就定义成抽象方法,让不同的子类去重写,代码如下:

// 司机开车的模板类

 public abstract class Driver {
 
    public void go() { 

       System.out.println("开门"); 

       System.out.println("点火");

        // 开车姿势不确定?定义为抽象方法

        ziShi();

        System.out.println("刹车");

        System.out.println("熄火");

    }

    public abstract void ziShi();

 }

现在定义两个使用模板的司机:

public class NewDriver extends Driver {

    @Override

    public void ziShi() {

        System.out.println("新司机双手紧握方向盘"); 

   } 

}

public class OldDriver extends Driver {

    @Override    public void ziShi() {

        System.out.println("老司机右手握方向盘左手抽烟...");

    } 

}

编写测试类

public class Demo02 {

    public static void main(String[] args) { 

       NewDriver nd = new NewDriver();

        nd.go();

        OldDriver od = new OldDriver();

        od.go();

    } 

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值