定義:一個抽象類公開定義了執行它的方法的方式/模板。它的子類可以按需要重寫方法實現,但調用將以抽象類中定義的方式進行
特點:
1、封裝不變部分,擴展可變部分。
2、提取公共代碼,便于維護。
3、行為由父類控制,子類實現。
企業級開發和常用框架中的應用:spring中對hibernate的實現(開啟事務,打開會話,關閉session)
實例:下面以玩游戲舉例,所有游戲玩的時候都有兩個操作,打開游戲和關閉游戲,但中間玩的方式就不一樣了,下面看實際例子。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
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( "玩創越火線游戲" ); } } |
模板模式其實就是抽象類的應用,這個模式比較簡單,而且在實際開發中也用的比較多。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。