開始寫設計模式,不想要很大的篇幅去描述概念的東西。簡而言之並通俗易懂,這就是最大的收穫。
核心
父類實現抽象函數之間的調用邏輯。子類實現抽象函數的實現細節。
實現
abstract class father{
public abstract void function1();
public abstract void function2();
public void funtionVV(){
function1();
function2();
}
}
class sonA extends father{
public void function1(){
//具體實現
System.out.println("sonA ---1");
}
public void function2(){
//具體實現
System.out.println("sonA---2");
}
}
class sonB extends father{
public void function1(){
//具體實現
System.out.println("sonB---1");
}
public void function2(){
//具體實現
System.out.println("sonB---2");
}
}
public class Main {
public static void main(String[] args) {
father obj = new sonB();
obj.funtionVV();
return;
}
}
輸出:
sonB---1
sonB---2
作用
函數之間的調用關係有統一的邏輯實現,在統一的父類中實現。
優點
- 節省代碼:在父類的一個非抽象函數內封裝了內部調用邏輯,子類中有相同的邏輯時,不需要在子類中重新複寫。
- 便於代碼維護。
缺點
- 父類與子類的邏輯關係有緊密耦合。