开始写设计模式,不想要很大的篇幅去描述概念的东西。简而言之并通俗易懂,这就是最大的收获。
核心
父类实现抽象函数之间的调用逻辑。子类实现抽象函数的实现细节。
实现
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
作用
函数之间的调用关系有统一的逻辑实现,在统一的父类中实现。
优点
- 节省代码:在父类的一个非抽象函数内封装了内部调用逻辑,子类中有相同的逻辑时,不需要在子类中重新复写。
- 便于代码维护。
缺点
- 父类与子类的逻辑关系有紧密耦合。