为什么有人会创建并调用一个将其自己的类作为输入参数的方法?如果我们想要分配/更改值,那么只做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();
}
}
答案 0 :(得分:0)
您无法通过对象直接访问类的私有成员和受保护成员。只能通过对象访问公共变量。
因此,如果您想更改私有/受保护数据成员,则需要成员函数。
答案 1 :(得分:-1)
这完全是关于封装,它是面向对象编程的基础。