在OOP程序中,我将把函数放在哪里进行基本操作?
例如,如果我有一个类,在其中一个函数中需要可以反转数组的代码,我可以在类中创建一个名为invertArray()
的方法。
另一方面,我可以创建一个全新的Functions
类,在那里我可以转储所有这些基本函数,例如将数组反转为。但是,使用这种方法,我必须在我使用的几乎所有其他类中实例化这个类。此外,它不是一个真正的对象,"但是更多的功能集合并不属于其他任何地方,这种功能会破坏"面向对象的功能。编程。
哪种实施更好?我应该使用更好的实现吗?
提前致谢。
编辑:这类帖子是否应该属于Stack Overflow?如果没有,你能指导我到一个更合适的Stack Exchange网站吗?感谢。
答案 0 :(得分:0)
根据您的语言,它取决于您放置物品的位置。
但是,举个例子,一个invertArray存在于一个Array类中。在某些语言中,您可以创建ArrayHelper或ArrayExtension类。但原则是“反转”是你想要告诉阵列的东西。
您通常会发现您的所有功能通常都会存在于某个类的某个位置,并且它们将具有合理的位置。
创建一个具有混杂功能的类通常不是一个好主意。你可以得到像“数学”这样的东西,它是一堆“静态”函数(它们不能在一个对象上工作),它们只是用参数进行一些计算并返回结果。但他们仍然认为它们是常见的数学函数
答案 1 :(得分:0)
根据你的问题,关于Java:
如果我有一个类,在其中一个函数需要可以反转数组的代码中,我可以在类中创建一个名为invertArray()的方法。
然后是的,你可以这样做,但如果你愿意用Java实现OOPS概念,你也可以这样做:
我可以创建一个全新的Function类,在这里我可以转储所有这些基本函数,比如将数组反转为。
对于这部分:
我必须在我使用的几乎所有其他类中实例化这个类。
您还可以创建一个接口,因为Java为您提供了此功能,您可以在其中声明功能并在各自的类中提供其实现。如果您想要具有相同功能的不同功能,那么这也是有用的,您可以选择这种方式,而不必一次又一次地重写您的功能定义。
而且,当您处理具有n个课程的大型项目时,OOPS概念会派上用场。这取决于您是在学习还是在项目上实施。