public class TestPagerA {
public void TestQuestion1(){
System.out.println("当你在学校取得好成绩或者在公司取得优异成绩而受到老师的称赞时,你作何反应?A感谢B谦逊C不直接回答问题而微笑");
System.out.println("答案:B");
}
public void TestQuestion2(){
System.out.println("当你在学校取得好成绩或者在公司取得优异成绩而受到老师的称赞时,你作何反应?A感谢B谦逊C不直接回答问题而微笑");
System.out.println("答案:B");
}
public void TestQuestion3(){
System.out.println("当你在学校取得好成绩或者在公司取得优异成绩而受到老师的称赞时,你作何反应?A感谢B谦逊C不直接回答问题而微笑");
System.out.println("答案:B");
}
}
public class TestPagerB {
public void TestQuestion1(){
System.out.println("当你在学校取得好成绩或者在公司取得优异成绩而受到老师的称赞时,你作何反应?A感谢B谦逊C不直接回答问题而微笑");
System.out.println("答案:A");
}
public void TestQuestion2(){
System.out.println("当你在学校取得好成绩或者在公司取得优异成绩而受到老师的称赞时,你作何反应?A感谢B谦逊C不直接回答问题而微笑");
System.out.println("答案:A");
}
public void TestQuestion3(){
System.out.println("当你在学校取得好成绩或者在公司取得优异成绩而受到老师的称赞时,你作何反应?A感谢B谦逊C不直接回答问题而微笑");
System.out.println("答案:A");
}
}
/**
* <h1>模板模式</h1>
* QS:小学时,抄黑板上的题目
* @author xangqun
*
*/
public class Program {
/**PS:
* 处理答案不同,没什么不一样这样写又容易出错,又难于维护
* @param args
*/
public static void main(String[] args) {
System.out.println("学生a抄的试卷:");
TestPagerA a=new TestPagerA();
a.TestQuestion1();
a.TestQuestion2();
a.TestQuestion3();
System.out.println("学生b抄的试卷:");
TestPagerB b=new TestPagerB();
b.TestQuestion1();
b.TestQuestion2();
b.TestQuestion3();
}
}
public abstract class TestPager {
public void TestQuestion1(){
System.out.println("当你在学校取得好成绩或者在公司取得优异成绩而受到老师的称赞时,你作何反应?A感谢B谦逊C不直接回答问题而微笑");
System.out.println("答案:"+Answer1());
}
public void TestQuestion2(){
System.out.println("当你在学校取得好成绩或者在公司取得优异成绩而受到老师的称赞时,你作何反应?A感谢B谦逊C不直接回答问题而微笑");
System.out.println("答案:"+Answer2());
}
public void TestQuestion3(){
System.out.println("当你在学校取得好成绩或者在公司取得优异成绩而受到老师的称赞时,你作何反应?A感谢B谦逊C不直接回答问题而微笑");
System.out.println("答案:"+Answer3());
}
public abstract String Answer1();
public abstract String Answer2();
public abstract String Answer3();
}
public class TestPagerAtwo extends TestPager {
@Override
public String Answer1() {
return "a";
}
@Override
public String Answer2() {
return "a";
}
@Override
public String Answer3() {
return "a";
}
}
public class TestPagerBtwo extends TestPager {
@Override
public String Answer1() {
return "b";
}
@Override
public String Answer2() {
return "b";
}
@Override
public String Answer3() {
return "b";
}
}
/**
* <h1>模板模式</h1>
* QS:小学时,抄黑板上的题目
* @author xangqun
*
*/
public class ProgramTwo {
/**
* <b>模板模式</b>
* 定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。
* 模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
* <br>模板模式是通过把不变行为搬移到超类,去除子类中重复代码来体现它的优势
* 当不变的和可变的行为在方法的子类实现中混合在一起的时候,不变的行为就会在子类中重复出现,
* 我们通过模板方法模式把这些行为搬移到单一的地方,这样就帮助子类摆脱子类重复的不变行为的纠缠。
* @param args
*/
public static void main(String[] args) {
System.out.println("学生a抄的试卷:");
TestPager a=new TestPagerAtwo();
a.TestQuestion1();
a.TestQuestion2();
a.TestQuestion3();
System.out.println("学生b抄的试卷:");
TestPager b=new TestPagerBtwo();
b.TestQuestion1();
b.TestQuestion2();
b.TestQuestion3();
}
}
分享到:
相关推荐
微信小程序源码 备忘录(学习版)微信小程序源码 备忘录(学习版)微信小程序源码 备忘录(学习版)微信小程序源码 备忘录(学习版)微信小程序源码 备忘录(学习版)微信小程序源码 备忘录(学习版)微信小程序源码 备忘录(学习...
设计模式参考《大话设计模式》 工厂简单模式 创造型模式 工厂方法模式 抽象工厂模式 原型模式 建造者模式 单例模式 结构型模式 队列模式 桥接模式 组合模式 装饰模式 外观模式 享元模式 代理模式 行为模式(类行为...
JAVA程序日历源码,层次清晰,编写规范
19备忘录模式:定义深度拷贝抽象类备忘录模式:定义深度拷贝抽象类 设计模式(JAVA语言实现)--20种设计模式附带源码PPT模板全文共22页,当前为第20页。 logo 20状态模式:定义状态类、定义状态切换类状态模式:...
java设计模式-备忘录模式源代码, 源码中为设计模式的工程源文件,已经测试过,没有问题。
毕业设计基于JavaWeb实现的一个备忘录系统项目源码。难度适中,新手自己可操作 备忘录 介绍 后端部分基于Servlet、Jdbc实现. 前端部分基于Layui、jqury实现。 一个简单的前后端分离Demo,前后端交互JSON数据格式 ...
Java 经典设计模式讲解以及项目实战 设计模式简介:主要介绍各种设计模式的概念和运用场景等 设计模式综合运用:主要是笔者在实际工作中运用到的一些设计模式综合运用事例的提炼 Spring设计模式简介:主要是讲述...
设计模式JAVA实现源码,设计模式JAVA实现源码
单例模式、代理模式、工厂模式、适配器模式、策略模式、模板方法模式的java源码实现
23种设计模式之Java实现源码 23种设计模式之Java实现源码 23种设计模式之Java实现源码 23种设计模式之Java实现源码 23种设计模式之Java实现源码 23种...
行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。 其实还有两类:并发型模式和线程池模式。
第二十二讲:备忘录模式 第二十三讲:访问者模式 第二十四讲:状态模式 第二十五讲:命令模式 第二十六讲:开放-封闭原则 第二十七讲:里氏转换原则 第二十八讲:依赖倒转原则 第二十九讲:迪米特法则 第三...
是个不错的RPG游戏开发的入门教程,多线程已经自动寻路算法等都比较值得学习。有兴趣的可以下下来研究研究。
二十三种设计模式JAVA实现源码.zip 二十三种设计模式JAVA实现源码.zip 二十三种设计模式JAVA实现源码.zip 二十三种设计模式JAVA实现源码.zip
Java实现HTTP连接与浏览,Java源码下载,输入html文件地址或网址,显示页面和HTML源文件,一步步的实现过程请下载本实例的Java源码,代码中包括丰富的注释,对学习有帮助。 Java实现的FTP连接与数据浏览程序 1个...
《大话设计模式》Java版的实现案例源码.zip
Android 备忘录源码
备忘录源码 有闹钟功能 定时会提醒。
备忘录系统(源码+项目说明).zip备忘录系统(源码+项目说明).zip备忘录系统(源码+项目说明).zip备忘录系统(源码+项目说明).zip备忘录系统(源码+项目说明).zip备忘录系统(源码+项目说明).zip备忘录系统...
java设计模式之策略模式实现源码