定義:一個抽象類公開定義了執行它的方法的方式/模闆。它的子類可以按需要重寫方法實作,但調用将以抽象類中定義的方式進行
特點:
1、封裝不變部分,擴充可變部分。
2、提取公共代碼,便于維護。
3、行為由父類控制,子類實作。
企業級開發和常用架構中的應用:spring中對hibernate的實作(開啟事務,打開會話,關閉session)
執行個體:下面以玩遊戲舉例,所有遊戲玩的時候都有兩個操作,打開遊戲和關閉遊戲,但中間玩的方式就不一樣了,下面看實際例子。
public class Demo {
public static void main(String[] args) {
Game g1 = new LOL();
Game g2 = new CF();
g1.playGame();
g2.playGame();
}
}
abstract class Game{
protected void init(){
System.out.println("初始化遊戲并登陸遊戲。。。");
}
public abstract void play();
protected void end(){
System.out.println("結束遊戲并登出。。。");
}
public void playGame(){
init();
play();
end();
}
}
class LOL extends Game{
public void play() {
System.out.println("玩英雄聯盟遊戲");
}
}
class CF extends Game{
public void play() {
System.out.println("玩創越火線遊戲");
}
}
模闆模式其實就是抽象類的應用,這個模式比較簡單,而且在實際開發中也用的比較多。
以上就是本文的全部内容,希望對大家的學習有所幫助,也希望大家多多支援腳本之家。