码迷,mamicode.com
首页 > 其他好文 > 详细

模板设计模式

时间:2019-07-15 01:06:19      阅读:110      评论:0      收藏:0      [点我收藏+]

标签:不同的   模板类   ring   extend   使用   print   bsp   现在   抽象   

模板设计模式

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

// 司机开车的模板类

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

    } 

}

 

模板设计模式

标签:不同的   模板类   ring   extend   使用   print   bsp   现在   抽象   

原文地址:https://www.cnblogs.com/lavar/p/11186557.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!