代碼是用java寫的 看了本java書發現他的思想確實是先進!!!
主要還是繼承和抽象方法的一些應用看代碼吧,我不喜歡扯淡,是干啥的百度都有,
意圖:定義一個操作中的演算法的骨架,而將一些步驟延遲到子類中,模板方法使得子類可以不改變一個演算法的結構即可重定義該演算法的某些特定步驟,
反正我之前是看不懂的 ,反之我知道能延遲加載就延遲加載,
第一個類 模板類
public abstract class DBhple {
public void coonection() {
PUT();
GET();
POST();
DELETE();
}
public abstract void PUT();
public abstract void GET();
public abstract void POST();
public abstract void DELETE();
}
繼承:他的抽象方法
public class MSSQLDB extends DBhple {
@Override
public void PUT() {
// TODO Auto-generated method stub
System.out.println("來自S的修改");
}
@Override
public void GET() {
// TODO Auto-generated method stub
System.out.println("來自s查找");
}
@Override
public void POST() {
// TODO Auto-generated method stub
System.out.println("來自s創建");
}
@Override
public void DELETE() {
// TODO Auto-generated method stub
System.out.println("來自so洗掉");
}
}
public class OracleDB extends DBhple {
@Override
public void PUT() {
// TODO Auto-generated method stub
System.out.println("來自o的修改");
}
@Override
public void GET() {
// TODO Auto-generated method stub
System.out.println("來自o查找");
}
@Override
public void POST() {
// TODO Auto-generated method stub
System.out.println("來自o創建");
}
@Override
public void DELETE() {
// TODO Auto-generated method stub
System.out.println("來自o洗掉");
}
}
客戶端
public static void main(String[] args) {
// TODO Auto-generated method stub
/*
* DBhple sdb1=new MSSQLDB(); sdb1.DELETE(); sdb1.GET(); sdb1.POST();
* sdb1.PUT();
*
* DBhple odb2=new MSSQLDB(); odb2.DELETE(); odb2.GET(); odb2.POST();
* odb2.PUT();
*/
Db(new MSSQLDB());
Db(new OracleDB());
}
public static void Db (DBhple db) {
db.coonection();
}
注釋起來的垃圾代碼是以前不動腦子的實作方案
反正實體化了加在那.....是不會錯的,嚴重冗余,
看了半本java確實他的思想確實很先進(書名叫Java的核心思想卷一)
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/22722.html
標籤:設計模式
下一篇:大話設計-簡單工廠
