标签:不同的 模板类 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