template method =模=板=方=法=模=式

模板方法,换一种说法,叫钩子函数或者回调方法。也就是说,父类定义好整体流程,一些关键的步骤抽象出钩子函数,交给具体的子类实现。这个就是模板方法模式了。说到底,还是多态,百分之90的设计模式,都和多态有关。(在面向对象语言中,接口的多种不同的实现方式即为多态。或者是抽象父类的多种不同的子类。)


public class Main {
    public static void main(String[] args) {
        F f = new C1();
        f.m();
    }

}

abstract class F {
    public void m() {
        op1();
        op2();
    }

    abstract void op1();
    abstract void op2();
}

class C1 extends F {

    @Override
    void op1() {
        System.out.println("op1");
    }

    @Override
    void op2() {
        System.out.println("op2");
    }
}

Java里的ClassLoader类加载器,就是用的模版方法

java里的类加载过程是“双亲委派”,整个流程(也就是模版)已经定好,我们自定义类加载器,只需重写 findClass 这个钩子函数,双亲委派机制就会帮我们实现类的加载。

发布了40 篇原创文章 · 获赞 0 · 访问量 412

猜你喜欢

转载自blog.csdn.net/weixin_43780400/article/details/105484673