设计模式之模板方法模式,temple
2013-11-29 18:06
357 查看
package liu.temple.demo;
public abstract class TestPaper {
public void TestQuestion1(){
System.out.println("屠龙刀的玄铁可能是[]a.球形铸铁,b.马口铁,C.高速和金刚,d.碳素纤维");
System.out.println("答案是:"+Answer1());
}
public void TestQuestion2(){
System.out.println("1加1等于:[]a.1,b.2,c.4");
System.out.println("答案是:"+Answer2());
}
public void TestQuestion3(){
System.out.println("2加3等于:[]a.2,b.3,c.4,d.5");
System.out.println("答案是:"+Answer3());
}
public abstract String Answer3();
public abstract String Answer2();
public abstract String Answer1();
}
------------------------------------------------------
package liu.temple.demo;
public class TestPaperA extends TestPaper{
@Override
public String Answer3() {
return "b";
}
@Override
public String Answer2() {
return "a";
}
@Override
public String Answer1() {
return "d";
}
}
------------------------------------------------------
package liu.temple.demo;
public class TestPaperB extends TestPaper{
@Override
public String Answer3() {
return "c";
}
@Override
public String Answer2() {
// TODO Auto-generated method stub
return "b";
}
@Override
public String Answer1() {
// TODO Auto-generated method stub
return "c";
}
}
------------------------------------------------------
package liu.temple.demo;
public class Main {
/**
* @param args
*/
public static void main(String[] args) {
TestPaper A = new TestPaperA();
A.TestQuestion1();
A.TestQuestion2();
A.TestQuestion3();
System.out.println("--------------------");
TestPaper B = new TestPaperB();
B.TestQuestion1();
B.TestQuestion2();
B.TestQuestion3();
}
}
------------------------------------------------------
public abstract class TestPaper {
public void TestQuestion1(){
System.out.println("屠龙刀的玄铁可能是[]a.球形铸铁,b.马口铁,C.高速和金刚,d.碳素纤维");
System.out.println("答案是:"+Answer1());
}
public void TestQuestion2(){
System.out.println("1加1等于:[]a.1,b.2,c.4");
System.out.println("答案是:"+Answer2());
}
public void TestQuestion3(){
System.out.println("2加3等于:[]a.2,b.3,c.4,d.5");
System.out.println("答案是:"+Answer3());
}
public abstract String Answer3();
public abstract String Answer2();
public abstract String Answer1();
}
------------------------------------------------------
package liu.temple.demo;
public class TestPaperA extends TestPaper{
@Override
public String Answer3() {
return "b";
}
@Override
public String Answer2() {
return "a";
}
@Override
public String Answer1() {
return "d";
}
}
------------------------------------------------------
package liu.temple.demo;
public class TestPaperB extends TestPaper{
@Override
public String Answer3() {
return "c";
}
@Override
public String Answer2() {
// TODO Auto-generated method stub
return "b";
}
@Override
public String Answer1() {
// TODO Auto-generated method stub
return "c";
}
}
------------------------------------------------------
package liu.temple.demo;
public class Main {
/**
* @param args
*/
public static void main(String[] args) {
TestPaper A = new TestPaperA();
A.TestQuestion1();
A.TestQuestion2();
A.TestQuestion3();
System.out.println("--------------------");
TestPaper B = new TestPaperB();
B.TestQuestion1();
B.TestQuestion2();
B.TestQuestion3();
}
}
------------------------------------------------------
相关文章推荐
- 从Spring HibernateTemplate模板方法设计模式的实现谈起
- 我所理解的设计模式(C++实现)——模板方法模式(Template Method Pattern)
- 设计模式16:模板方法模式【行为型】
- 跟我学设计模式视频教程——面向对象理论,模板方法
- 设计模式 模板方法模式 TemplateMethod
- 设计模式——模板方法模式
- 设计模式 22 模板方法模式
- 行为型设计模式之模板方法(TEMPLATE METHOD)模式 ,策略(Strategy )模式
- Java设计模式之——模板方法模式(Template)
- 设计模式之模板方法模式
- 设计模式之模板方法模式(Template)
- 《模式——工程化实现及扩展》(设计模式C# 版)《模板方法模式 Template》——“自我检验"
- Java设计模式透析之 —— 模板方法(Template Method)
- 设计模式解密(4)- 模板方法模式
- 设计模式实现(七)--- 模板方法模式(Template Method)
- 代码块 final 包装类 抽象类 模板方法设计模式
- Php设计模式之【模板方法模式Template Method Pattern 】
- Java设计模式透析之 —— 模板方法(Template Method)
- 设计模式:模板方法模式(Template Method)
- java/android 设计模式学习笔记(22)---模板方法模式