我正在做一个小项目,作为更大工作的延伸。作为这个大型项目的一部分,有一个包含许多方法的类。 我想在我的新课程中使用其中一些方法作为方法,但我觉得必须有一个更好的方法,而不是简单地用不同的类名重复代码! 有没有办法让一个方法属于多个类(我应该提到所有这些都是c ++)! 干杯, 千斤顶
答案 0 :(得分:3)
大致说出两种可能性:
继承:仅当您的新班级(B)和您对(A)感兴趣的班级真正代表是关系时。
构图:将您感兴趣的课程(A)添加为新课程(B)中的字段。然后,您可以轻松使用其方法。
如果A类的方法多于您需要的方法,那么很可能它违反了Single Responsibility Principle,您应该拆分它。如果B将具有与A同名的方法,那么考虑引入一个接口,该接口具有两个类共有的方法(通常这个+组合看起来比继承更好)。
答案 1 :(得分:0)
除了继承之外,一个方法不能是多个类的一部分。你可以做的是创建一个全局函数,让我们说void func1()
,本地函数可以在每个类中说void func2()
。在func2()的代码中只需调用func1()即全局函数。这样您就不必多次编写相同的代码