在方法之外引用特定的 parameter-object

Referring to a specific parameter-object outside of a method

基本上我需要从 object 访问变量,它作为方法内部的参数传递。 我将给出一些伪代码而不是我现在正在使用的真实代码,作为其他用户的 easier-to-understand 示例。

   public class AClass{
      Object x = null;

      private void doSomething(){
          method("something", new RandomClass());
          x = *the object of new RandomClass()*
      }
   }

如果有需要我会更改标签和标题post具体示例,但我认为这是一个多语言问题。

考虑了几分钟后,我想出了解决这个特定问题的方法。

public class AClass{
      Object x = null;

      private void doSomething(){
          Object y = new RandomClass();
          method("something", y);
          x = y;
      }
   }

有些语言允许我们通过引用传递来使用它们。有些人没有。因此,首先你应该知道你使用的语言是否有这种选项。例如,C++ 允许我们通过引用传递来使用它。在 C++ 中,有指针和引用。我们可以这样使用它:

int main()
{
    Object  r ;
    Object  k ;


    r.data=1;
    k.data=2;
    cout<<r.data<<" "<<k.data<<endl;
    method(r,k);
    cout<<r.data<<" "<<k.data<<endl;


    return 0;
}

void method(Object & x, Object & y){  // pass-by-reference
    x.data=4;
    y.data=5;

}

输出将是:

1 2
4 5

同样重要的是,您要访问的对象的变量是私有的,或者 public.If 它不是友元函数或不是 class 内部的函数,您无法访问那个变量。 希望对你有帮助。