关于抽象类的问题

来源:2-2 具体子类实现延迟步骤

一蓑烟雨2

2016-05-30 13:15

为什么采用抽象类实现呢?既然每个步骤都是必须的,为什么不采用一个类作为父类提供默认的实现行为,通过子类覆盖父类方法来实现各自不同的实现行为呢?

写回答 关注

1回答

  • 西北望change
    2016-05-30 21:21:58
    已采纳

    对模板方法中非共性的方法采用抽象类中的抽象方法,是因为有些方法在模板中确实不知道具体的实现,提供一个空的默认实现,再在子类中去override是多余的。再者,共性的部分采用private标识,对子类屏蔽了实现细节,让具体的子类只用关注它特有的个性方法实现。 这样整体结构更加清晰明了,各个类的职责也更加具体清楚。

    一蓑烟雨2

    非常感谢!

    2016-07-06 22:52:03

    共 1 条回复 >

模式的秘密---模板方法模式

封装算法框架的模板方法模式,用案例告诉你模板方法模式的强大

32230 学习 · 65 问题

查看课程

相似问题