java模板方法模式

//模板类
abstract class Paper{
    public void TestQuestion1(){
        System.out.println("what is your name?");
        System.out.println("" + answer1());
    }
    abstract public String answer1();

    public void TestQuesiton2(){
        System.out.println("how old are you?");
        System.out.println("" + answer2());
    }
    abstract public String answer2();

    public void finish(){
        TestQuestion1();
        TestQuesiton2();
    }
}

class XiaoMing extends Paper{
    public String answer1(){
         return "xiao ming";
    }

    @Override
    public String answer2() {
        return "18";
    }
}

class XiaoHong extends Paper{
    public String answer1(){
        return "xiao Hong";
    }

    @Override
    public String answer2() {
        return "17";
    }
}

public class TestTemplate {
  public static void main(String[] args){
      new XiaoHong().finish();
      new XiaoMing().finish();
  }
}
结果
what is your name?
xiao Hong
how old are you?
17
what is your name?
xiao ming
how old are you?
18

模板方法模式:

定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值