定义:
一个抽象类公开定义了执行它的方法的方式/模板
业务场景:
动物园又来了。已知动物园饲养员在喂动物,同时动物园要求,喂之前必须进行打卡、预拌。喂之后要检查、清理。完整流程为:
打卡–>预拌–>投喂–>检查–>清理
模板方法解决了这个问题。由一个抽象类编排好顺序。具体的实现类有所区别。
饲养员张三,喜欢直接喂。李四,喜欢用盆喂。王五就厉害了,喂之前还要跟小动物聊聊天。
所以我们就定义一个抽象类:饲养员,有三个不同的实现:张三,李四,王五。其中他们分别实现了打卡、预拌等方法。最后调用统一的:喂养方法,在喂养方法内部,依序调用相应的。
模板方法,重在调用顺序。。。
以上。