1.抽象类应用
话说小白尝尽人间冷暖,对男人失去了信心,决定报名去灵鹫宫参加比武应聘宫女,为此苦练武功秘籍《葵花宝典》。小白能否应聘成功呢?
2.模板方法设计模式
模板方法模式(Templete Method):定义一个操作中的算法的骨架,而将一些可变部分的实现延迟到子类中。模板方法模式使得子类可以不改变一个算法的结构即可重新定义改算法的某些特定的步骤。
import java.util.Random;
/**
抽象类的应用
*/
public class AbstractAppDemo{
public static void main(String[] args){
LingjiuPalace lp = new Shemale("小白");
System.out.println("小白应聘灵鹫宫宫女一事正式开始。");
lp.action();
}
}
abstract class LingjiuPalace{
//招聘活动
public void action(){
if(competition()){
System.out.println("恭喜你,加入灵鹫宫,周一上班");
}else{
System.out.println("sorry,学艺不精,没宫干净吧");
}
}
//比赛方法
public abstract boolean competition();//抽象方法
}
class Shemale extends LingjiuPalace{
private String name;
public Shemale(String name){
this.name = name;
}
//实现比赛方法
public boolean competition(){
System.out.println("我是"+name);
System.out.println("比赛开始,成不成功,听天由命!");
Random r = new Random();
return r.nextBoolean();
}
}