设计模式之模板方法模式

来源:互联网 发布:无线电频率测量软件 编辑:程序博客网 时间:2024/06/06 10:42

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();
        
    }

}

0 0
原创粉丝点击