当前位置: 首页 > 知识库问答 >
问题:

使用这个或传递一个参数对象有什么区别吗

林涵映
2023-03-14

假设我有一个方法:

public void boolean isEndingStation(Station station, BusLine busLine){
...
}

它位于busline类内部。如果我只使用调用函数的对象,然后使用this关键字,这有什么区别吗?这样传递一个对象似乎是多余的,并且总体上使方法看起来更干净。

共有1个答案

靳睿
2023-03-14

它是否“多余”取决于它是如何被使用的。

如果您询问busline的特定实例,如果提供的station是“Ending station”,那么是的,这是多余的,而且非常混乱。

同样,如果您询问是否是给定总线的“结束站”(例如站),也会令人困惑。iSendingStationfor(aBusLine)使用是没有意义的。

如果它是一个静态方法,例如station.isStationEndStation(aStation,aBusline),那么它是有意义的。

这是Java风格的OOP设计用来做的事情之一:在类的实例上发送消息(“调用方法”)。在内部,这些函数使用实例数据对该消息执行一些有意义的操作。

iSendingStationStation进行方法调用甚至是有意义的,例如,

public void boolean isEndingStation(Station station) {
    return station.isEndFor(this);
}

最终,什么是最有意义的取决于功能所在的位置,您希望如何访问它,系统是如何架构的,等等。

 类似资料:
  • 问题内容: 传递道具时,应该将整个对象传递到子组件中,还是应该先在父组件中单独创建道具,然后再将这些道具传递给子组件? 传递整个对象: 单独创建首先需要的道具: 哪一个是首选,并且取决于它,我应该使用哪个作为量规? 问题答案: 您应该更喜欢第二个示例,以单独传递道具。在这里,您可以清楚地看到传递了哪些参数,并可以与期望的参数快速比较。这使人们之间的协作更加容易,并使应用程序的状态更加清晰。 我个人

  • 我最近在看一个关于用LWJGL在Java编写OpenGL游戏的教程。在其中,讲述者/作者首先将浮点数组从转换为,然后将其交给。最初我对此并没有多想,但我无意中直接给浮动数组,而不是将其转换为,结果代码最终仍然可以工作。我查阅了文档,它只写了“array version of:bufferdata”作为注释,这仍然让我无法确定。 这让我不禁要问,假设是通过使用给赋值的,因此包含相同的数据,那么在使用

  • 两者之间有什么区别 引用传递的参数 通过值传递的参数? 你能给我举几个例子吗?

  • 下面的代码分别调用两个简单的函数100亿次。 我的假设是这两个调用的性能几乎相同。如果有的话,我会猜到传递两个参数会比传递一个稍微慢一些。鉴于所有参数都是对象引用,我并不期望其中一个参数是列表这一事实会产生任何差异。 我运行了多次测试,一个典型的结果是“12781/30536”。换句话说,使用两个字符串的调用需要13秒,使用列表的调用需要30秒。 更新 这不是一个公平的测试,原因很多。然而,它确实

  • 本文向大家介绍json和对象有什么区别?相关面试题,主要包含被问及json和对象有什么区别?时的应答技巧和注意事项,需要的朋友参考一下 JSON 是对象,但对象不一定是 JSON。 对象是由属性和属性值组成,也就是 KEY->VALUE 对。 对象中的 value 可以是任意的数据类型,包括函数。而 JSON 中的 value 不能为函数。

  • 我试图学习功能性Kotlin,并编写了以下测试代码: 在REPL中,我可以成功调用“findBorrowerX”: 但是我如何拨打“findBorrowerX2”的电话: 并将迭代的借用器x传递给getName?? 这看起来有关联,但我不确定: Kotlin:如何将一个函数作为参数传递给另一个? 提前感谢您对此的帮助! 编辑: 下面是我想做的等效Scala代码: 也许这在科特林是不可能的?