輕松掌握Java模板模式
定義:一個抽象類公開定義了執(zhí)行它的方法的方式/模板。它的子類可以按需要重寫方法實現(xiàn),但調(diào)用將以抽象類中定義的方式進行
特點:
1、封裝不變部分,擴展可變部分。
2、提取公共代碼,便于維護。
3、行為由父類控制,子類實現(xiàn)。
企業(yè)級開發(fā)和常用框架中的應(yīng)用:spring中對hibernate的實現(xiàn)(開啟事務(wù),打開會話,關(guān)閉session)
實例:下面以玩游戲舉例,所有游戲玩的時候都有兩個操作,打開游戲和關(guān)閉游戲,但中間玩的方式就不一樣了,下面看實際例子。
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("結(jié)束游戲并退出登錄。。。"); } public void playGame(){ init(); play(); end(); } } class LOL extends Game{ public void play() { System.out.println("玩英雄聯(lián)盟游戲"); } } class CF extends Game{ public void play() { System.out.println("玩創(chuàng)越火線游戲"); } }
模板模式其實就是抽象類的應(yīng)用,這個模式比較簡單,而且在實際開發(fā)中也用的比較多。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
springboot與mybatis整合實例詳解(完美融合)
大家都知道springboot搭建一個spring框架只需要秒秒鐘。下面通過實例代碼給大家介紹一下springboot與mybatis的完美融合,非常不錯,具有參考借鑒價值,感興趣的朋友一起看看吧2016-09-09SpringBoot集成SpringSecurity和JWT做登陸鑒權(quán)的實現(xiàn)
這篇文章主要介紹了SpringBoot集成SpringSecurity和JWT做登陸鑒權(quán)的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-04-04Spring Boot中Redis數(shù)據(jù)庫的使用實例
Spring Boot中除了對常用的關(guān)系型數(shù)據(jù)庫提供了優(yōu)秀的自動化支持之外,對于很多NoSQL數(shù)據(jù)庫一樣提供了自動化配置的支持。本篇文章主要介紹了Spring Boot中Redis的使用實例代碼,有興趣的開業(yè)了解一下。2017-04-04利用Java+Selenium+OpenCV模擬實現(xiàn)網(wǎng)頁滑動驗證
目前很多網(wǎng)頁都有滑動驗證,目的就是防止不良爬蟲扒他們網(wǎng)站的數(shù)據(jù)。本文將介紹通過Java Selenium OpenCV解決網(wǎng)頁滑塊驗證,需要的可以參考一下2022-01-01