模板设计模式

模板设计模式

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

// 司机开车的模板类

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

    } 

}

 

posted @ 2019-07-15 00:08  Larva_我在呢  阅读(177)  评论(0编辑  收藏  举报