旅游网站开发文献综述网站建设需要花多少钱
web/
2025/10/8 19:54:18/
文章来源:
旅游网站开发文献综述,网站建设需要花多少钱,菏泽做网站的工作室,网站访问量什么意思模板方法模式是一种行为模式#xff0c;建议在超类中更一般地定义算法。 该算法是在称为模板方法的方法中定义的。 子类仅定义更具体的算法步骤的实现。 使用这种设计模式的好处是#xff0c;算法后面的任何更改只会影响超类中的代码。 此外#xff0c;它还可以提高代码的可… 模板方法模式是一种行为模式建议在超类中更一般地定义算法。 该算法是在称为模板方法的方法中定义的。 子类仅定义更具体的算法步骤的实现。 使用这种设计模式的好处是算法后面的任何更改只会影响超类中的代码。 此外它还可以提高代码的可重用性。 在本快速教程中我们将学习在Java中实现模板方法模式。 模板方法模式 假设我们必须写一篇文章。 通常涉及几个步骤 专题研究 勾勒轮廓 写介绍 然后准备论文的正文 最后总结一下 因此让我们继续创建EssayTemplate类 public abstract class EssayTemplate {private String topic;public EssayTemplate(String topic) {this.topic topic;}public final void writeEssay() {doResearch();makeOutline();writeIntro();writeBody();writeConclusion(); } void doResearch() { System.out.println(Researching); }void makeOutline() { System.out.println(Making an outline); }void writeIntro() { System.out.println(Introducing topic); }void writeConclusion() { System.out.println(Concluding topic);}abstract writeBody();
} 无论论文的类型是短还是长大部分的常规步骤包括研究创建大纲撰写引言和结论都将保持不变。 因此这些方法定义存在于超类本身中。 另外请注意 我们已将模板方法标记为最终方法以避免被任何子类覆盖。 使用模板类 论文的主要内容或正文取决于论文的性质。 因此我们将writeBody方法定义留给子类提供。 现在让我们创建EssayTemplate的两个子类-ShortEssay和LongEssay public class ShortEssay extends EssayTemplate {public ShortEssay(String topic) {super(topic);}Overridepublic void writeBody() {System.out.println(Adding 2 paras);}
}public class LongEssay extends EssayTemplate {public LongEssay(String topic) {super(topic);}Overridepublic void writeBody() {System.out.println(Adding 6 paras);}
}UML图 我们可以通过UML图将模板模式的上述示例实现表示为 ShortEssay和LongEssay定义了writeBody方法的实现。 但是定义算法的方法以及其他常见方法的实现位于超类中。 使用模板模式的客户端代码 让我们编写一些客户端代码来测试我们的实现 //code in main method
EssayTemplate shortEssay new ShortEssay(Programming - An Art);
shortEssay.writeEssay(); 这样我们将在控制台上获得以下输出 Researching
Making an outline
Introducing topic
Adding 2 paras
Concluding topic结论 在本教程中我们研究了模板方法模式。 java.io.InputStream和java.io.OutputStream的所有非抽象方法都使用模板模式 。 翻译自: https://www.javacodegeeks.com/2019/09/template-method-pattern-java.html
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/89232.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!