模版方法模式
2022-04-07 本文已影响0人
请叫我平爷
我们拿试卷举例
代码示例
试卷类
public abstract class CusPaper {
public void cusQuestion1(){
System.out.println("以下不属于四大名著的是:a.西游记 b.红楼梦 c.水浒传 d.复活");
}
public abstract String answer1();
public void cusQuestion2(){
System.out.println("以下属于外国名著的是:a.西游记 b.红楼梦 c.水浒传 d.复活");
}
public abstract String answer2();
}
A同学
public class StudentA extends CusPaper {
@Override
public String answer1() {
return "A";
}
@Override
public String answer2() {
return "B";
}
}
B同学
public class StudentB extends CusPaper {
@Override
public String answer1() {
return "D";
}
@Override
public String answer2() {
return "A";
}
}
使用
public static void main(String[] args) {
StudentA a = new StudentA();
a.cusQuestion1();
System.out.println("A同学的答案是" + a.answer1());
a.cusQuestion2();
System.out.println("A同学的答案是" + a.answer2());
StudentB b = new StudentB();
b.cusQuestion1();
System.out.println("B同学的答案是" + b.answer1());
a.cusQuestion2();
System.out.println("B同学的答案是" + b.answer2());
}
打印
以下不属于四大名著的是:a.西游记 b.红楼梦 c.水浒传 d.复活
A同学的答案是A
以下属于外国名著的是:a.西游记 b.红楼梦 c.水浒传 d.复活
A同学的答案是B
以下不属于四大名著的是:a.西游记 b.红楼梦 c.水浒传 d.复活
B同学的答案是D
以下属于外国名著的是:a.西游记 b.红楼梦 c.水浒传 d.复活
B同学的答案是A