模版方法模式

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
上一篇 下一篇

猜你喜欢

热点阅读