一蓑烟雨2
2016-05-30 13:15
为什么采用抽象类实现呢?既然每个步骤都是必须的,为什么不采用一个类作为父类提供默认的实现行为,通过子类覆盖父类方法来实现各自不同的实现行为呢?
对模板方法中非共性的方法采用抽象类中的抽象方法,是因为有些方法在模板中确实不知道具体的实现,提供一个空的默认实现,再在子类中去override是多余的。再者,共性的部分采用private标识,对子类屏蔽了实现细节,让具体的子类只用关注它特有的个性方法实现。 这样整体结构更加清晰明了,各个类的职责也更加具体清楚。
模式的秘密---模板方法模式
32230 学习 · 65 问题
相似问题