1. 程式人生 > >面向對象18.11.2

面向對象18.11.2

封裝 vat 特征 set ret 替代 數據 都是 有效

字段:

  • 主要是為類的內部做數據交互,一般都是peivate。
  • 可以賦值,也可以取值。
  • 當字段需要為外部提供數據時將字段封裝為屬性,而不是公有化。

屬性:

  • 一般向外提供數據訪問,主要用來描述對象的靜態特征,一般為public。
  • 可以設置只讀,只寫,可用來提高數據安全性。
  • 屬性內部可以添加業務邏輯,避免非法數據。

1.使用屬性的必要性:

  • 避免非法數據:通過屬性訪問私有字段,不會更改字段,可以保證數據有效性,通常在get和set方法中添加需要的業務邏輯。
  • 可以通過屬性設置只讀屬性,保護數據,使其不能被賦值,可替代readonly。

private DateTime birthday;
public DateTime Birthday
{
get { return birthday; }
set { birthday = value; }
}

  • 屬性可以直接調用方法,或者添加其他業務邏輯。

2.自動屬性:

  • 只適用於標準屬性,不能使用只讀只寫。

public string StudentName{get ;set }

面向對象18.11.2