【问题标题】:ByRef or ByVal for passing a parameter, when the parameter is an object. PseudocodeByRef 或 ByVal 用于传递参数,当参数是对象时。伪代码
【发布时间】:2020-03-22 17:55:19
【问题描述】:

我正在学习计算机科学,其中简要提到了 ByRef 和 ByVal 的概念。我想我掌握了差异。但是,我不确定在以下情况下我应该申请哪一个。

假设您定义了一个名为:Car 的类

而这辆车有一个属性:model。

并且有两种方法:getModel() 和 setModel(.. model ..) 可以让我确定我的汽车的当前型号,并在我更换汽车时更改我的汽车型号。

然后我创建了一个 Car 的实例:myCar = new Car (... parameters ..)

然后在一个函数中我想将 myCar 作为参数传递:changeCar(myCar),其中我将使用方法 setModel (..)

由于模型是 myCar 的一个属性,我是否需要通过 myCar byRef 或 ByVal 传递?

我认为 byRef 是因为我想更改对象 myCar 内部的属性值。

【问题讨论】:

    标签: oop


    【解决方案1】:

    你的权利,它是通过引用。 如果您按值传递,您最终会修改 Car 的一个新实例,而不是您传递的那个。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-11
      • 1970-01-01
      • 1970-01-01
      • 2011-11-06
      • 1970-01-01
      • 2012-07-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多