package com.xiongdilian;
/**
* Java设计模式之模板方法模式
* 比如定义一个操作中的算法的骨架,将步骤延迟到子类中。
* 模板方法使得子类能够不去改变一个算法的结构即可重定义算法的某些特定步骤。
*/
import java.util.Random;
public class AbstractAppDemo {
public static void main(String[] args) {
Company c1 = new Applicant("小明");
Company c2 = new Applicant("小红");
c1.interview();
c2.interview();
}
}
abstract class Company{
public void interview(){
System.out.println("请开始你的介绍");
if(compelete()){
System.out.println("面试成功");
}else{
System.out.println("面试失败");
}
}
public abstract boolean compelete();
}
class Applicant extends Company{
public String name;
public Applicant() {
super();
}
public Applicant(String name) {
super();
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public boolean compelete(){
System.out.println("我的名字是"+getName());
Random r = new Random();
return r.nextBoolean();
}
}