C#入門面向對象編程(字段、屬性)
一、訪問修飾符
1、為什麽使用訪問修飾符:
(1)現實中:每個人都有自己的隱私和公開內容。
(2)開發中:有時候開發者在設計類的時候,一些成員(字段、屬性、方法)無需提供給調用者
(3)好處:充分體現面向對象裏面的“封裝”特性。
(4)作用:保證數據安全,方便調用者使用
2、訪問修飾類型:
(1)private:只能在類的內部使用
(2)public:在任何地方這個成員都能被使用
(3)默認:類的方法、字段默認都是private,類的本身不寫的話,默認是internal
(4)開發經驗:一般都建議顯示的寫明訪問修飾符
二、字段的使用
1、字段又被稱為“成員變量”,一般用來在一個類的內部做數據交互使用,通常是private修飾。
2、字段的命名規範:一般采用camel命名法。
3、字段在對象創建過程中會首先被初始化(通過斷點觀察)
三、屬性概述
1、在OOP中,主要使用屬性來描述對象的靜態特征。
2、屬性一般采用Pascal命名法,數據類型和對應字段一致。
3、屬性是外界訪問私有字段的一個入口,屬性本身不保存任何數據。
四、屬性的重要特征
1、使用屬性能避免非法數據
(1)實踐方法:通常在get或set方法中可以添加需要的業務邏輯
(2)對比:相當於數據庫中的“約束”。因為約束是保證數據有效性的最後一個屏障。
2、可以設置只讀屬性
(1)有些屬性為了保護數據,我們可以設置成只讀,而不能賦值。
(2)方法:將set方法去掉即可
(3)經驗:可以替代readonly。
3、屬性可以單獨存在
(1)有時候某一個屬性值可能不是直接返回一個對應私有字段的值,而是調用一些方法,或其他業務邏輯
五、自動屬性
public int BookId{get;set}
1、使用特點
(1)簡化代碼,私有字段編碼器自動生成
(2)只適合標準屬性
(3)不能添加任何業務邏輯
2、適用條件
(1)不能直接操作私有字段
(2)不能只讀只寫
快捷鍵 :pro然後連續按兩次Tab
六、字段與屬性的總結與比較
1、字段(成員變量)
(1)字段主要是為類的內部做數據交互使用,字段一般為private
(2)我們可以給字段賦值,也可以取值。
(3)字段需要為外部提供數據是,將字段封裝為屬性,而不是共有字段
2、屬性
(1)屬性一般是向外提供數據訪問,主要是用來描述對象的靜態特征,所以,一般是public
(2)屬性可以設置成只讀、只寫,提高數據安全性。
(3)屬性內部可以添加業務邏輯,從而避免非法數據。
C#入門面向對象編程(字段、屬性)