[C#學習筆記10]OOP值對象屬性Property各種特性和語法
屬性的使用:
????作用——在OOP中主要用來封裝數(shù)據(jù)
????要求——一般采用Pascal命名法,數(shù)據(jù)類型和字段要一致,使用public修飾
屬性的定義:

讀?。簩傩酝ㄟ^get方法,返回私有字段的值
賦值:屬性通過set方法,借助于value給私有字段賦值
本質:屬性本身,其實沒有保存數(shù)據(jù),而字段才是真正數(shù)據(jù)的存儲單元

只讀屬性1:直接去掉set方法,可以在定義的時候初始化
public string CourseName {get;} = ".NET課程";
只讀屬性2:直接去掉set方法,并在get中添加業(yè)務邏輯
public?string?CourseInfo
{
????get{return $"名稱:{Name}編號:{Id}價格:{Price}";}
}
字段(成員變量)
????內容使用:字段主要是為類的內部數(shù)據(jù)交換使用,字段一般是private????
????數(shù)據(jù)存儲:字段只是用來存儲數(shù)據(jù),如果不是靜態(tài)字段,生命周期和對象共存亡
????讀寫不限:可以給字段賦值,也可以獲取字段的值(常用),reaonly除外
屬性(字段封裝)
????外部使用:屬性一般是向外提供數(shù)據(jù)訪問,屬性是public修飾,用來對外表示對象的靜態(tài)特征。
????業(yè)務擴展:屬性內不可以添加業(yè)務邏輯,可以避免非法數(shù)據(jù),或完成其它相關業(yè)務。
????讀寫可控:屬性可以根據(jù)需要設置為只讀屬性,體現(xiàn)面向對象的“封裝特性”,即安全性
使用
????常規(guī)化使用:對象本身的“對外”數(shù)據(jù)保存,都是通過屬性完成度,調用者都可以使用
????強制性使用:公有化字段,在很多時候是無法被解析的。(比如:dgv,combox的顯示問題)