1. 程式人生 > >C#入門面向對象編程(字段、屬性)

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#入門面向對象編程(字段、屬性)