您的位置:首页 > 其它

模板方法模式

2015-08-28 20:41 204 查看
解决的问题:当功能内部一部分实现时确定,一部分实现是不确定的。这时可以把不确定的部分暴露出去,让子类去实现。

abstract class GetTime{

    public finalvoid getTime(){
//此功能如果不需要复写,可加final限定

        long start =System.currentTimeMillis();

        code(); //不确定的功能部分,提取出来,通过抽象方法实现

        long end =System.currentTimeMillis();

        System.out.println("毫秒是:"+(end-start));

    }

    public abstract void code(); //抽象不确定的功能,让子类复写实现

}

class SubDemo extends GetTime{

    public void code(){ //子类复写功能方法

        for(int y=0;y<1000; y++){

            System.out.println("y");

        }

    }

}
还可以采用回调函数的方式实现模板方法模式
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  设计模式