《大话设计模式》--模板模式

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/268567.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux 股票指南针,IOS开发入门之ios指南针

本文将带你了解IOS开发入门之ios指南针,希望本文对大家学IOS有所帮助参考http://blog.sina.com.cn/s/blog_4a37054201013nhr.html可运行的代码如下1.拖拽ImageView ,关联变量到.h中2.代码如下//// ViewController.h// SouthDemo//// Created by xiao7 on 14/10/2…

一条命令解决系统N多故障

这是我刚在论坛上看到的,所以我把它收藏在我的博客中,因为以前笔记本总遇到这样的问题,不知道能管用吗,待测试。 1: 使用Windows操作系统的人有时会遇到这样的错误信息:「“0X????????”指令引用的…

【Java】二维码生成,QRcode

QRcode jar包下载地址:http://swetake.com/qrcode/java/qr_java.html 解析的工具可以参考 zxing 代码如下 package erweima;import java.awt.Color;import java.awt.Graphics2D;import java.awt.image.BufferedImage;import java.io.File;import java.io.IOExceptio…

linux db2 ssl,IBM DB2 Content Manager V83与手工配置SSL

此文章主要向大家描述的是IBM DB2 Content Manager V83系统中,手工配置SSL的实际操作步骤,在IBM DB2 Content Manager V83系统中,一般的情况下都需要使用SSL协议。 在安装IBM DB2 Content Manager V83系统时。安装程序可以完成对IBM HTTP Ser…

打印机每天都要重新连接

打印机每天都要重新连接 打印机每天都要重新连接 各位大侠请教一个菜鸟问题 LAN中一台电脑连接打印机并共享 但只要作为打印服务器的这台电脑关机或者重启 其他电脑出现打印机无响应 必要要重新连接打印机才能使用 检查打印机服务器如下设置: 工作组共享问题详细解决…

JS字符串与二进制的相互转化

//字符串转ascii码,用charCodeAt(); //ascii码转字符串,用fromCharCode(); var str "A"; var code str.charCodeAt(); var str2 String.fromCharCode(code);十进制转二进制 var a "i"; console.log(a.charCodeAt()); //105 cons…

c语言 ipc 参数 序列化,浅谈IPC通信之序列化与反序列化(三)

由于进行通信肯定要涉及数据的处理,所以我们需要先了解两个基础的概念,序列化和反序列化。定义序列化:将对象转化为可保存的字节序列(注意是对象);反序列:将字节序列恢复为对象的过程。序列化和反序列的用途&#xff1…

选择什么样的时机将IT运维服务外包

选择什么样的时机将IT运维服务外包IT外包这个词更能让大家理解当然它包含很多业务形式,可以是软件模块开发,软件测试,企业IT运维等等。服务商会引用国外某专家的话:把自己不擅长的业务包出去是全球的业务发展趋势。但是事实是否真…

bzoj4773 负环

Description 在忘记考虑负环之后,黎瑟的算法又出错了。对于边带权的有向图 G (V, E),请找出一个点数最小的环,使得 环上的边权和为负数。保证图中不包含重边和自环。 Input 第1两个整数n, m,表示图的点数和边数。 接下来的m行&#xff0…

工业无线遥控器 SUNRF-1011RC

工业无线遥控器 SUNRF-1011RC工业无线遥控器产品 授权操作 一:简介:工业无线遥控器,是针对工业环境,专门设计的无线控制替代有线控制的方案。和有线控制一样,具有实时性、灵活性、多路同时操作、操作灵活顺畅无…

C语言封装带省略参数的函数,C与C++的函数声明中省略参数的不同意义

一直都以为C/C中形如int func();这样的函数声明其意义就是一个参数 void(没有参数)的函数。然而今天在看C的时候突然看到这么一句:对于带空参数表的函数,C和C有很大的不同。在C语言中,声明int func2();表示“一个可带任意参数(任意数目&#…

常见的CSS和HTML面试题

1. 常用那几种浏览器测试?有哪些内核(Layout Engine)? 浏览器:IE,Chrome,FireFox,Safari,Opera。 内核:Trident,Gecko,Presto,Webkit。 2. 说下行内元素和块…

理解快速生成树协议(RSTP)(二)

RSTP引进了新的BPDU处理以及一种新的拓扑结构改变机制。即使没有从根桥处接收到任何信号,每个网桥在每次“hello时间周期中”中都生成BPDU。BPDU扮演了在网桥间进行消息通知的角色。如果一个网桥不能从临近网桥处收到BPDU,它就会认为与这个网桥失去了连接…

C语言位运算

一、位运算符&#xff23;语言提供了六种位运算符&#xff1a;& 按位与| 按位或^ 按位异或~ 取反<< 左移>> 右移1. 按位与运算 按位与运算符"&"是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时&#xff0…

c语言运行后没生成exe,这个程序怎么运行?为什么显示没有exe??

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼#include #include #include #include #include #include void main(){void welcome();void over(int x);void state();void score(int x);void hp(int x);welcome();state();char key;int x, y,a,m;int sc 0,wc 0;srand(time(NU…