我该如何处理OOP中的基本功能?

时间:2018-06-11 23:22:17

标签: java oop

在OOP程序中,我将把函数放在哪里进行基本操作?

例如,如果我有一个类,在其中一个函数中需要可以反转数组的代码,我可以在类中创建一个名为invertArray()的方法。

另一方面,我可以创建一个全新的Functions类,在那里我可以转储所有这些基本函数,例如将数组反转为。但是,使用这种方法,我必须在我使用的几乎所有其他类中实例化这个类。此外,它不是一个真正的对象,"但是更多的功能集合并不属于其他任何地方,这种功能会破坏"面向对象的功能。编程。

哪种实施更好?我应该使用更好的实现吗?

提前致谢。

编辑:这类帖子是否应该属于Stack Overflow?如果没有,你能指导我到一个更合适的Stack Exchange网站吗?感谢。

2 个答案:

答案 0 :(得分:0)

根据您的语言,它取决于您放置物品的位置。

但是,举个例子,一个invertArray存在于一个Array类中。在某些语言中,您可以创建ArrayHelper或ArrayExtension类。但原则是“反转”是你想要告诉阵列的东西。

您通常会发现您的所有功能通常都会存在于某个类的某个位置,并且它们将具有合理的位置。

创建一个具有混杂功能的类通常不是一个好主意。你可以得到像“数学”这样的东西,它是一堆“静态”函数(它们不能在一个对象上工作),它们只是用参数进行一些计算并返回结果。但他们仍然认为它们是常见的数学函数

答案 1 :(得分:0)

根据你的问题,关于Java:

  

如果我有一个类,在其中一个函数需要可以反转数组的代码中,我可以在类中创建一个名为invertArray()的方法。

然后是的,你可以这样做,但如果你愿意用Java实现OOPS概念,你也可以这样做:

  

我可以创建一个全新的Function类,在这里我可以转储所有这些基本函数,比如将数组反转为。

对于这部分:

  

我必须在我使用的几乎所有其他类中实例化这个类。

您还可以创建一个接口,因为Java为您提供了此功能,您可以在其中声明功能并在各自的类中提供其实现。如果您想要具有相同功能的不同功能,那么这也是有用的,您可以选择这种方式,而不必一次又一次地重写您的功能定义。

而且,当您处理具有n个课程的大型项目时,OOPS概念会派上用场。这取决于您是在学习还是在项目上实施。