《大话设计模式》--模板模式
题目:相同的两份试卷,甲乙两个人做,答案不同
public class TestPager {public void question() {System.out.println("题目:答案是A、B、C、D中哪一个?");System.out.println("答案:" + answer());}protected String answer() {return "";} }
public class TestPagerA extends TestPager {@Overrideprotected String answer() {return "A";} }public class TestPagerB extends TestPager {@Overrideprotected String answer() {return "B";} }
public class Test {public static void main(String args[]) {System.out.println("甲的试卷");TestPager studentA = new TestPagerA();studentA.question();System.out.println("乙的试卷");TestPager studentB = new TestPagerB();studentB.question();} }
打印结果:
甲的试卷 题目:答案是A、B、C、D中哪一个? 答案:A 乙的试卷 题目:答案是A、B、C、D中哪一个? 答案:B
这其实就是通过面向对象的三大特性实现代码的复用,使重复代码降到最低
转载于:https://www.cnblogs.com/anni-qianqian/p/7424134.html
《大话设计模式》--模板模式相关推荐
- linkin大话设计模式--模板方法模式
linkin大话设计模式--模板方法模式 准备一个抽象类,将部分逻辑以具体方法的形式实现,然后申明一些抽象方法来迫使子类实现剩余的逻辑.不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不 ...
- 12. 星际争霸之php设计模式--模板模式
题记 ============================================================================== 本php设计模式专辑来源于博客(jy ...
- Java设计模式-模板模式
Java设计模式-模板模式 什么是模板模式? 模板模式,顾名思义,就是通过模板拓印的方式. 定义模板,就是定义框架.结构.原型.定义一个我们共同遵守的约定. 定义模板,我们的剩余工作就是对其进行充实. ...
- Java设计模式—模板模式(Template)
模板模式 业务需求 编写豆浆制作程序 选材-添加配料-浸泡-豆浆机打碎 选材.浸泡.打碎这几步对于制作不同豆浆都是一样的 比较简单,这里不再使用传统方法,直接上设计模式 模板模式基本介绍 模板模式,在 ...
- 【设计模式】Java设计模式 - 模板模式
[设计模式]Java设计模式 - 模板模式
- linkin大话设计模式--桥接模式
linkin大话设计模式--桥接模式 桥接模式是一种结构化模式,他主要应对的是:由于实际的需要,某个类具有2个或者2个以上维度的变化,如果只是使用继承将无法实现功能,或者会使得设计变得相当的臃肿.我们 ...
- linkin大话设计模式--常用模式总结
linkin大话设计模式--常用模式总结 一,常用设计模式定义 Abstract Factory(抽象工厂模式):提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类. Adapter( ...
- C语言实现设计模式—模板模式
文章目录 C语言实现设计模式-模板模式 模板模式介绍 UML用例说明 实际场景使用 框架结构[共用框架]-通用的串口协议分析函数 不同实现-数据类型区别 C语言实现设计模式-模板模式 模板模式介绍 在 ...
- 大话设计模式—模板方法模式
在模板方法模式(TemplateMethod Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板.它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行.这种类型的设计模式属于 ...
- PHP设计模式——模板模式
声明:本系列博客参考资料<大话设计模式>,作者程杰. 模板模式准备一个抽象类,将部分逻辑以具体方法以及具体构造形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑.不同的子类可以以不同的 ...
最新文章
- 针对地图可压缩性的点云配准方法评估(IROS 2021)
- DreamWeaver下如何应用CSS样式
- 猜想:企业SaaS热火之后……
- 如何在VC中创建动态数组
- 这款插件不既有Chrome版【飞秋下载】
- C#实现超长位整数运算
- (转)招行推出的摩羯智能理财,到底是在做什么?
- 常见的传输线阻抗计算软件(轉自笨笨熊的屋屋)
- 基本的信号——Sa函数(抽样信号)
- saltstack自定义returner之利用fluent+mysql进行结果收集
- 量子力学第十一弹——变分法
- 阿里云被攻击封多久,又该怎么解决?
- 马尔科夫链模型状态转移矩阵
- Springboot:商品库存并发更新,乐观锁失败重试机制
- 通过okHttpUtils实现文件的上传下载
- 3-1 SPIFFS
- QQ找茬辅助工具的制作[转]
- 项目的时间进度该如何估算?
- OPPO A37m解账户锁刷机包
- 你不在意的HTTPS证书吊销机制
热门文章
- multiselect多选下拉框
- 《Two Days DIV + CSS》读书笔记——CSS选择器
- 几个常用的Linux操作系统监控脚本
- vue项目配置eslint(附visio studio code配置)
- element-ui表单验证:用户名、密码、电话、邮箱
- spark、oozie、yarn、hdfs、zookeeper、
- C++ exit 与 return 浅析
- about hamout cloudra
- Halocn OCR识别入门学习
- char a[]和char *a的比较,数组名,数组首地址,a,a,a[0]