题目:相同的两份试卷,甲乙两个人做,答案不同

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

《大话设计模式》--模板模式相关推荐

  1. linkin大话设计模式--模板方法模式

    linkin大话设计模式--模板方法模式 准备一个抽象类,将部分逻辑以具体方法的形式实现,然后申明一些抽象方法来迫使子类实现剩余的逻辑.不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不 ...

  2. 12. 星际争霸之php设计模式--模板模式

    题记 ============================================================================== 本php设计模式专辑来源于博客(jy ...

  3. Java设计模式-模板模式

    Java设计模式-模板模式 什么是模板模式? 模板模式,顾名思义,就是通过模板拓印的方式. 定义模板,就是定义框架.结构.原型.定义一个我们共同遵守的约定. 定义模板,我们的剩余工作就是对其进行充实. ...

  4. Java设计模式—模板模式(Template)

    模板模式 业务需求 编写豆浆制作程序 选材-添加配料-浸泡-豆浆机打碎 选材.浸泡.打碎这几步对于制作不同豆浆都是一样的 比较简单,这里不再使用传统方法,直接上设计模式 模板模式基本介绍 模板模式,在 ...

  5. 【设计模式】Java设计模式 - 模板模式

    [设计模式]Java设计模式 - 模板模式

  6. linkin大话设计模式--桥接模式

    linkin大话设计模式--桥接模式 桥接模式是一种结构化模式,他主要应对的是:由于实际的需要,某个类具有2个或者2个以上维度的变化,如果只是使用继承将无法实现功能,或者会使得设计变得相当的臃肿.我们 ...

  7. linkin大话设计模式--常用模式总结

    linkin大话设计模式--常用模式总结 一,常用设计模式定义 Abstract Factory(抽象工厂模式):提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类. Adapter( ...

  8. C语言实现设计模式—模板模式

    文章目录 C语言实现设计模式-模板模式 模板模式介绍 UML用例说明 实际场景使用 框架结构[共用框架]-通用的串口协议分析函数 不同实现-数据类型区别 C语言实现设计模式-模板模式 模板模式介绍 在 ...

  9. 大话设计模式—模板方法模式

    在模板方法模式(TemplateMethod Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板.它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行.这种类型的设计模式属于 ...

  10. PHP设计模式——模板模式

    声明:本系列博客参考资料<大话设计模式>,作者程杰. 模板模式准备一个抽象类,将部分逻辑以具体方法以及具体构造形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑.不同的子类可以以不同的 ...

最新文章

  1. 针对地图可压缩性的点云配准方法评估(IROS 2021)
  2. DreamWeaver下如何应用CSS样式
  3. 猜想:企业SaaS热火之后……
  4. 如何在VC中创建动态数组
  5. 这款插件不既有Chrome版【飞秋下载】
  6. C#实现超长位整数运算
  7. (转)招行推出的摩羯智能理财,到底是在做什么?
  8. 常见的传输线阻抗计算软件(轉自笨笨熊的屋屋)
  9. 基本的信号——Sa函数(抽样信号)
  10. saltstack自定义returner之利用fluent+mysql进行结果收集
  11. 量子力学第十一弹——变分法
  12. 阿里云被攻击封多久,又该怎么解决?
  13. 马尔科夫链模型状态转移矩阵
  14. Springboot:商品库存并发更新,乐观锁失败重试机制
  15. 通过okHttpUtils实现文件的上传下载
  16. 3-1 SPIFFS
  17. QQ找茬辅助工具的制作[转]
  18. 项目的时间进度该如何估算?
  19. OPPO A37m解账户锁刷机包
  20. 你不在意的HTTPS证书吊销机制

热门文章

  1. multiselect多选下拉框
  2. 《Two Days DIV + CSS》读书笔记——CSS选择器
  3. 几个常用的Linux操作系统监控脚本
  4. vue项目配置eslint(附visio studio code配置)
  5. element-ui表单验证:用户名、密码、电话、邮箱
  6. spark、oozie、yarn、hdfs、zookeeper、
  7. C++ exit 与 return 浅析
  8. about hamout cloudra
  9. Halocn OCR识别入门学习
  10. char a[]和char *a的比较,数组名,数组首地址,a,a,a[0]