C#中的字段與屬性的區別及屬性的作用
先上代碼
public class Employee
{
//字段
private string name;
//屬性
public string Name
{
get { return name; }
set { name = value; }
}
}
這段代碼中聲明了name字段和Name屬性,一般來說屬性名是變量名的首字母大寫
屬性的作用是對字段進行賦值時加以限制,因本段代碼字段是姓名所以沒有限制,下面附一段對年齡賦值加以限制的代碼
public class Employee
{
//字段
private byte age;
//屬性
public byte Age
{
get { return age; }
set {
if(value >= 18 && value<=60)
age = value;
}
}
}
這段代碼對age進行了限制,通過Age屬性對age字段賦值,其值只能在18~60才能賦值成功
下面再貼一段調用代碼
class TestEmployee
{
static void Main()
{
Employee.NumberOfEmployees = 107;
Employee e1 = new Employee();
//錯誤,name字段為private私有字段
e1.name = "Claude Vige";
//正確,Name屬性通過set方法對name字段賦值
e1.Name = "Claude Vige";
//打印輸出e1的姓名,通過Name屬性的get方法返回name的值
System.Console.WriteLine("Employee name: {0}", e1.Name);
}
}