标签:info turn jaf ilo class nrv 方法 bst jsb
这次来看下模板方法,还是先来看下head first的定义:在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。
再来看下类图:
看下代码吧:
public abstract class DB { public void connectDB() { if (dirverHook()) { prepareDirver(); } getConnect(); } public abstract void prepareDirver(); public boolean dirverHook() { return true; } public void getConnect() { System.out.println("获取连接"); } }
public class Mysql extends DB { @Override public void prepareDirver() { System.out.println("准备mysql驱动"); } @Override public boolean dirverHook() { return false; } }
public class Oracle extends DB { @Override public void prepareDirver() { System.out.println("准备oracle驱动"); } }
标签:info turn jaf ilo class nrv 方法 bst jsb
原文地址:https://www.cnblogs.com/shenqiaqia/p/11143361.html