Oop 继承实现类以实现方法的可重用性
有一个实现类--类p,其中包含大约10个具体方法。我的兴趣在于这门课的一种方法。 问题是不鼓励我的班直接调用类p方法。另外,为了让我的类访问类P方法,我需要在所需的类P方法中添加一个条件 我的问题是哪个更微妙-Oop 继承实现类以实现方法的可重用性,oop,design-patterns,Oop,Design Patterns,有一个实现类--类p,其中包含大约10个具体方法。我的兴趣在于这门课的一种方法。 问题是不鼓励我的班直接调用类p方法。另外,为了让我的类访问类P方法,我需要在所需的类P方法中添加一个条件 我的问题是哪个更微妙- 将类p继承到一个新的impl类中并使用它(鉴于类p中没有方法,我不确定这是否正确,因为我将有不需要的额外方法的开销) 或者通过在类p方法中添加几行来调整我在类p方法中的操作 如果您需要修改该方法,那么它就不能像现在这样严格地重用。继承一个类将按原样提供该方法,然后您仍然需要用新版本覆盖
- 将类p继承到一个新的impl类中并使用它(鉴于类p中没有方法,我不确定这是否正确,因为我将有不需要的额外方法的开销)
- 或者通过在类p方法中添加几行来调整我在类p方法中的操作
在这种情况下,不要通过继承来实现可重用性,而是尝试组合原始方法中不会更改的部分,并在两个类中使用这些组件 为什么你不能将这个方法复制到你的新类中并在那里修改它?@steve:为了实现代码的可重用性。。。这个方法有很多行代码!如果它被修改了,那么它就不是同一个代码了……如果你只需要调用该代码,那么以后为什么不创建一个P的实例并调用该方法呢?我想我明白你的意思了——“如果它被修改了,它就不是同一个代码!”,甚至是一行。你能加上这个作为回答吗。我很乐意接受!