C# 访问器
// 普通形式的访问器
class Person
{
// name是存储数据的变量
// Name是一个“属性Property”,像是搭的一个访问数据的桥
// 两者的名称不能相同,但是应该相近
private string name; // field
public string Name // property 后面没有分号,访问权限是public
{
get { return name; } // 实际上读取的是name
set { name = value; } // value是关键字
// 可以控制赋值和取值的流程了
// 像是重载了等号
}
}
class Program
{
static void Main(string[] args)
{
Person myObj = new Person();
myObj.Name = "Liam"; // 访问的时候是以变量的方式访问,不是Get/Set函数
Console.WriteLine(myObj.Name);
}
}
// 以下使用一种简短的形式,不需要变量,直接使用“属性Property”
// 这样和普通的public变量有什么区别?可以控制读写权限,可以是只读或只写等
class Person
{
public string Name // property
{ get; set; }
}
class Program
{
static void Main(string[] args)
{
Person myObj = new Person();
myObj.Name = "Liam";
Console.WriteLine(myObj.Name);
}
}