為什么要使用訪問修飾符?
現實中:每個人都有自己的隱私和公開內容。
開發中:有時開發者在設計類的時候,一些成員(字段、屬性、方法)無需提供給調用者。
好處:充分體現面向對象里面的“封裝"特性(OOP三大牛剖性:封裝、繼承、多態)
作用:保證數據安全,方便調用者使用(如果成員很多,調用者使用比較困難)
訪問修飾的類型
private:只能在類的內部使用.
public:在州可地方這個成員都能被使用.
默認:類的方法、字段默認都是private,類的本身不寫的話,默認是internal.
關于字段:
字段又稱為“成員變量,,一般用來在一個類的內部做數據交互使用,通常是private修飾。
字段命名規范:一般采用camel命名法,首字母小寫,第二個單詞字母大寫
字段在對象創建中會首先被初始化(通過斷點觀察)(默認值用斷點觀察不到)
例:private string studentName="";
屬性概述:
在OOP中,主要使用屬性來描述對象的靜態特征。
屬性一般采用Pascal命名法,數據類型和對應字段一致。
屬性是外界訪問私有字段的一個入口,屬性本身不保存任何數據。
使用屬性能避免非法數據
實踐用法:通常在get或set方法中可以添加需要的業務邏輯.
對比:相當于數據庫中的“約束”,因為約束是保證數據有效性的最后一個屏障。
可以設置只讀屬性
有些屬詳為了保護數據,我們可以設置成只讀,而不能賦值
方法:將set方法去掉即可。
經驗:可以替代readonly.
屬性可以單獨存在
有時候沒某一個屬性值可能不是直接返回一個對應私有字段的值,而是調用一些方法,或其他業務邏輯。
自動屬性
使用特點
簡化代碼,私有字段編譯器自動生成·
只適合于標準屬性。
不能添加任何業務邏輯。
適用條件
不能直接操作私有字段。
不能使用只讀、只寫屬性。
字段與屬性的總結與比較
字段(成員變量)
字段主要是為類的內部做數據交互使用,字段一般private
我們可以給字段賦值,也可以取值。
當字段需要為外部提供數據時,將字段封裝為屬性,而不是公有化字段。
屬性
屬性一般是向外部提供數據訪問,主要用來描述對象的靜態特征,所以一般是public。
屬性可以設置成只讀、只寫,提高數據安全性。
屬性內部可以添加業務邏輯,從而避免非法數據。