传递给方法的引用

Reference passed to a method

本文关键字:引用 方法      更新时间:2023-10-16

为什么有人会创建并调用一个将自己的类作为输入参数的方法?如果我们想分配/更改值,那么只执行ob.a = x不是更简单吗?优点和缺点是什么?

class Test
{
    public int a, b;
    public Test(int i, int j)
    {
        a = i;
        b = j;
    }
    public void Change(Test junk)
    {
        junk.a = junk.a + junk.b;
        junk.b = -junk.b;
    }
}
class Program
{
    static void Main(string[] args)
    {
        Test ob = new Test(15,20);
        Console.WriteLine("ob.a and ob.b before call: " + ob.a + " " + ob.b);
        ob.Change(ob);
        Console.WriteLine("ob.a and ob.b after call: " + ob.a + " " + ob.b);
        Console.ReadLine();
    }
}

您不能直接通过对象访问类的私有和受保护成员。只有公共变量才能通过对象访问。

因此,如果您想更改私有/受保护的数据成员,则需要成员函数。