展开全部
因为C#和Java不太一样,Java是直接让你定义getter/setter方法,但C#是通过属性(Property)来实现这一机制的,如果你看最后生成的IL代码,你会发现编译器帮我们完成了从属性到get/set方法。
至于你说的对象封装后,如果使用get/set方法传值和取值,在C#中很自然就是通过修改和读取属性来完成的。
下面通过一个例子给你说明一下:
class Student
{
private string name;
private int age;
public string Name
{
get { this.name; }
set { this.name = value; }
}
public int Age
{
get { this.age; }
set { this.age = value; }
}
public Student() { }
public Student(string name, int age)
{
this.name = name;
this.age = age;
}
protected override string ToString()
{
return string.Format("Name: {0}, Age: {1}", this.name, this.age);
}
}
class Test
{
public static void Main()
{
Student std = new Student();
std.Name = "Jim";
std.Age = 25;
Console.WriteLine(std.ToString());
Student std2 = new Student("Tom", 21);
Console.WriteLine("My name is" + std2.Name);
}
}
来自:求助得到的回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询