11.21模板方法模式
package tutor24; import java.util.Scanner; public class Client { public static void main(String[] args) { DBOperator db = null; for (int j = 0; ; j++) { System.out.println("请选择数据库:1、SQLServer 2、Oracle 3、退出"); Scanner input=new Scanner(System.in); int i=input.nextInt(); if(i==1) { db=new SQLServerDB(); }else if(i==2) { db=new OracleDB(); }else if (i==3){ break; } db.process(); } } } abstract class DBOperator { public void process(){ connDB(); openDB(); useDB(); closeDB(); } public abstract void connDB(); public void openDB(){ System.out.println("打开数据库"); } public void useDB(){ System.out.println("使用数据库"); } public void closeDB(){ System.out.println("关闭数据库"); } } class OracleDB extends DBOperator{ @Override public void connDB() { // TODO 自动生成的方法存根 System.out.println("连接Oracle数据库"); } }class SQLServerDB extends DBOperator{ @Override public void connDB() { // TODO 自动生成的方法存根 System.out.println("连接SQLServer数据库"); } }