java中的模板设计模式

设计模式: 设计模式就是解决一些问题时的固定思路,也就是代码设计思路经验的总结。
模板思想:
模板是通用的东西,抽象类体现的是模板思想。
抽象类中可以是具体实现的方法(通用模板),也可以有抽象方法(填充模板)。
模板中不能决定的行为定义成抽象方法,让需要使用模板的类(子类)负责重写抽象方法实现。
模板中能决定的行为就定义成有方法体的方法,让需要使用模板的类(子类)直接继承调用即可。
案例:

需求:

  • 按照下述要求,使用代码实现 定义新、老司机类,新、老司机类都有开车功能,开车的步骤一样,但驾驶时的姿势不同
  • 新司机:开门,点火,双手紧握方向盘,刹车,熄火
  • 老司机:开门,点火,右手握方向盘左手抽烟,刹车,熄火

代码示例:

  • 模板类
package com;

/**
 * @Author: Mr.Xu
 * @description: 模板
 * @Date: 2021/10/8  17:38
 */

// 抽象父类: 体现的就是模板设计思想
public abstract class Driver {
  // 开车的方法: 通用方法
  public void driveCar(){
    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("右手握方向盘左手抽烟...");
 }
}
  • 测试类
package com;

/**
 * @Author: Mr.Xu
 * @description: 测试类
 * @Date: 2021/10/8  17:43
 */

public class Test {
  public static void main(String[] args) {
    /*
      需求:按照下述要求,使用代码实现
      定义新、老司机类,新、老司机类都有开车功能,开车的步骤一样,但驾驶时的姿
势不同
      新司机:开门,点火,双手紧握方向盘,刹车,熄火
      老司机:开门,点火,右手握方向盘左手抽烟,刹车,熄火
    */
    // 创建新司机对象
    NewDriver d1 = new NewDriver();
    // 创建老司机对象
    OldDriver d2 = new OldDriver();
    // 开车
    d1.driveCar();
    System.out.println("========");
    d2.driveCar();
 }
}

小白一枚,喜欢编程,以上内容纯手打,如有错误,请及时指正,谢谢!!!

        欢迎下次再来ヾ(≧▽≦*)o
         
            求三连(❁´◡`❁)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值