属于多个类的方法

时间:2014-04-14 13:20:16

标签: c++ oop

我正在做一个小项目,作为更大工作的延伸。作为这个大型项目的一部分,有一个包含许多方法的类。 我想在我的新课程中使用其中一些方法作为方法,但我觉得必须有一个更好的方法,而不是简单地用不同的类名重复代码! 有没有办法让一个方法属于多个类(我应该提到所有这些都是c ++)! 干杯, 千斤顶

2 个答案:

答案 0 :(得分:3)

大致说出两种可能性:

  • 继承:仅当您的新班级(B)和您对(A)感兴趣的班级真正代表关系时。

  • 构图:将您感兴趣的课程(A)添加为新课程(B)中的字段。然后,您可以轻松使用其方法。

如果A类的方法多于您需要的方法,那么很可能它违反了Single Responsibility Principle,您应该拆分它。如果B将具有与A同名的方法,那么考虑引入一个接口,该接口具有两个类共有的方法(通常这个+组合看起来比继承更好)。

答案 1 :(得分:0)

除了继承之外,一个方法不能是多个类的一部分。你可以做的是创建一个全局函数,让我们说void func1(),本地函数可以在每个类中说void func2()。在func2()的代码中只需调用func1()即全局函数。这样您就不必多次编写相同的代码