继承方法可重用性的实现类

时间:2018-02-22 09:29:13

标签: oop design-patterns

有一个实现类 - Class P ,其中包含大约10个具体方法。我的兴趣在于这门课程的其中一种方法。

问题是我的班级不鼓励直接调用 Class P 方法。另外,我的班级要访问 Class P 方法,我需要在所需的 Class P 方法中添加条件

我的问题是哪个更微妙 -

  • 将Class P继承到一个新的impl类并使用它(给定此类中的方法没有P我不确定这是否正确,因为我将有不需要的额外方法的开销)。

  • 或通过在P类方法中添加几行来调整我在P类方法中的操作。

1 个答案:

答案 0 :(得分:1)

如果您需要修改方法,那么它不能严格按原样重复使用。继承一个类将按原样提供方法,然后你需要用新版本覆盖它。如果你需要在调用super之前或之后添加要执行的代码,你可以通过实例化类P并调用它的方法来执行相同的操作。

此外,为了这个目的而继承可能会使你的意图不清楚,因为下次有人或你看到他们会问的代码,"为什么班级班级为什么?"。

在这种情况下,不要通过继承实现可重用性,而是尝试将原始方法中不会改变的部分组合在一起,并在两个类中使用这些组件。