我一直都有這個問題,但到目前爲止我一直都沒有跟上。爲什麼要在課堂上爲私人成員創建公共包裝?
這是一塊示例代碼:
爲什麼這樣做:
public class EmployeeInfo
{
int _EmpNo;
public virtual int EmpNo
{
get { return _EmpNo; }
set { _EmpNo = value; }
}
string _EmpName;
public virtual string EmpName
{
get { return _EmpName; }
set { _EmpName = value; }
}
}
時沒有什麼額外的,如計算或驗證,被獲取/設置過程中做了什麼?
這樣就夠了嗎?
public class EmployeeInfo
{
public int EmpNo { get; set; }
public string EmpName { get; set; }
}
另外,爲什麼virtual
爲公共成員包裝?
1)如果您所做的只是允許其他類從該屬性讀取和設置值,則不必使用私有成員。 2)虛擬關鍵字允許子類覆蓋屬性。 – Alex
掌握一切公開的虛擬內容通常是一個糟糕的主意,並不是因爲它改變了功能,而是因爲這意味着當人們考慮應該如何實現繼承時,他們正在懶惰 – MikeT