ClassLoader就是模板方法模式,我的微信公众号也使用了模板方法模式
算法框架已经搭建好,你只需要实现你不一样的东西就可以了。
public abstract class AbstractPeople {
private void getUp(){System.out.println("起床了");
}
protected abstract void haveBreakfast();
protected abstract void transport();
private void sleep(){
System.out.println("睡觉了");
}
public final void dayLife(){
System.out.println("=============================");
getUp();
haveBreakfast();
transport();
sleep();
System.out.println("=============================");
}
}
public class PeopleAAA extends AbstractPeople {
@Override
protected void haveBreakfast() {
System.out.println("吃三明治");
}
@Override
protected void transport() {
System.out.println("坐小汽车上班");
}
}
public class PeopleBBB extends AbstractPeople {
@Override
protected void haveBreakfast() {
System.out.println("吃面包");
}
@Override
protected void transport() {
System.out.println("坐地铁上班");
}
}
public class PeopleCCC extends AbstractPeople {
@Override
protected void haveBreakfast() {
System.out.println("吃黑面馍馍");
}
@Override
protected void transport() {
System.out.println("坐公交车上班");
}
}
测试
public class Client {
public static void main(String[] args) {
AbstractPeople pA = new PeopleAAA();
AbstractPeople pB = new PeopleBBB();
AbstractPeople pC = new PeopleCCC();
pA.dayLife();
pB.dayLife();
pC.dayLife();
}
}