模板

模板

模板是行为设计​​模式之一,抽象类定义了一组执行其方法的方式/模板。

它的子类可以重写/实现这些方法,但调用方式与抽​​象类定义的方式相同

让我们通过一个例子来理解这一点:

关键概念
模板:定义算法的结构/方式/模板的抽象类
具体实现:模板的具体实现
客户端:将使用此模板的客户端

AiPPT模板广场 AiPPT模板广场

AiPPT模板广场-PPT模板-word文档模板-excel表格模板

AiPPT模板广场 147 查看详情 AiPPT模板广场

public abstract class gametemplate{    //these below methods can be overridden based on the type of game    public abstract void initialize();    public abstract void startplay();    public abstract void  endplay();    //all the subclasses must use this same method to play the game i.e. following the same template present in this method,    //hence it is declared as final.    public final void play(){        initialize();        startplay();        endplay();    }}public class cricket extends gametemplate{    @override    public void initialize(){        system.out.println("cricket has been initialized");    }    @override    public void startplay(){        system.out.println("cricket game has been started");    }    @override    public void endplay(){        system.out.println("cricket game has ended");    }}public class football extends gametemplate{    @override    public void initialize(){        system.out.println("football has been initialized");    }    @override    public void startplay(){        system.out.println("football game has been started");    }    @override    public void endplay(){        system.out.println("football game has ended");    }}public class main{    public static void main(string args[]){        //create a football game object         gametemplate football = new football();        football.play();// play() will strictly follow the sequence of method execution defined in the final play() method        gametemplate cricket = new cricket();        cricket.play();    }}

输出:

Football has been initializedFootball game has been startedFootball game has endedCricket has been initializedCricket game has been startedCricket game has ended

注意:代码遵循lsp、isp、srp、ocp等所有设计原则

以上就是模板的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/468251.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月8日 06:21:17
下一篇 2025年11月8日 06:25:19

相关推荐

发表回复

登录后才能评论
关注微信