package designpattern.templatemethod; public abstract class novicevillage { public void task1() { system.out.println("你好,勇士。请帮我杀掉10个" + task1aim()); } public void underway() { system.out.println("任务进行中..."); } public void task1reward() { system.out.println("太好了,勇士!非常感谢,这是您的报酬:金币*50、经验*500、" + task1rewardweapon()); } abstract string task1aim(); abstract string task1rewardweapon(); }
package designpattern.templatemethod; public class novicevillagewarrior extends novicevillage{ @override string task1aim() { return "老虎怪"; } @override string task1rewardweapon() { return "新手巨剑*1"; } }
package designpattern.templatemethod; public class novicevillagewizard extends novicevillage{ @override string task1aim() { return "猴子精"; } @override string task1rewardweapon() { return "新手法杖*1"; } }
package designpattern.templatemethod; public class client { public static void main(string[] args) { // 战士 novicevillage novicevillagewarrior = new novicevillagewarrior(); novicevillagewarrior.task1(); novicevillagewarrior.underway(); novicevillagewarrior.task1reward(); system.out.println("=================================="); // 法师 novicevillage novicevillagewizard = new novicevillagewizard(); novicevillagewizard.task1(); novicevillagewizard.underway(); novicevillagewizard.task1reward(); } }
输出结果:
你好,勇士。请帮我杀掉10个老虎怪 任务进行中... 太好了,勇士!非常感谢,这是您的报酬:金币*50、经验*500、新手巨剑*1 ================================== 你好,勇士。请帮我杀掉10个猴子精 任务进行中... 太好了,勇士!非常感谢,这是您的报酬:金币*50、经验*500、新手法杖*1
如对本文有疑问, 点击进行留言回复!!
网友评论