文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Java中模板模式怎么用

2023-06-29 08:21

关注

小编给大家分享一下Java中模板模式怎么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

优点

封装不变部分,扩展可变部分。

提取公共代码,便于维护。

行为由父类控制,子类实现。

缺点

每一个不同的实现都需要一个子类来实现,导致类的个数增加,使得系统更加庞大。

使用场景

有多个子类共有的方法,且逻辑相同。

重要的、复杂的方法,可以考虑作为模板方法。

一、实现方式

假设一个场景,我们在玩游戏的时候,都需要初始化加载游戏,然后开始游戏,最后结束游戏,这像是一套模板一样的操作,但是具体的实现方法却不同,例如:LOL 游戏与 CF 游戏的加载资源肯定不同,游戏的内容也不同。

1、游戏抽象类

package com.asurplus.common.template;public abstract class Game {    // 初始化游戏    abstract void init();    // 开始游戏    abstract void start();    // 结束游戏    abstract void end();    // 模板    public final void play() {        // 初始化游戏        init();        // 开始游戏        start();        // 结束游戏        end();    }}

2、LOL游戏类

package com.asurplus.common.template;import lombok.extern.slf4j.Slf4j;@Slf4jpublic class LolGame extends Game {    @Override    void init() {        log.info("初始化 LOL 游戏");    }    @Override    void start() {        log.info("LOL 游戏开始");    }    @Override    void end() {        log.info("LOL 游戏结束");    }}

3、CF游戏类

package com.asurplus.common.template;import lombok.extern.slf4j.Slf4j;@Slf4jpublic class CfGame extends Game {    @Override    void init() {        log.info("初始化 CF 游戏");    }    @Override    void start() {        log.info("CF 游戏开始");    }    @Override    void end() {        log.info("CF 游戏结束");    }}

二、测试

package com.asurplus.common.template;public class TestMain {    public static void main(String[] args) {        // LOL 游戏        Game lolGame = new LolGame();        lolGame.play();        System.out.println();        // CF 游戏        Game cfGame = new CfGame();        cfGame.play();    }}

输出结果

Java中模板模式怎么用

可以看出,一套模板,可以有多个实现方式,从而实现了我们的工厂模式。

看完了这篇文章,相信你对“Java中模板模式怎么用”有了一定的了解,如果想了解更多相关知识,欢迎关注编程网行业资讯频道,感谢各位的阅读!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯