C 中字段和屬性兩者之間的區別以及屬性的作用

2021-10-06 20:09:58 字數 1614 閱讀 1810

咋們先一起看一下**,進行對比.

//成員變數

//屬性

public int no;

//字段

private int nl;

//屬性封裝

public int nl

}}

上面這段**中字段和屬性的訪問修飾符不同,屬性是public: 公共的,而字段是private: 私有的.

1,設定訪問許可權

2,限制類中的成員(屬性、方法等)可訪問的範圍

3,訪問範圍通常有,類的內部、類的外部。

private(私有的,僅類的內部使用);public(公有的,沒有訪問限制)等等

類的成員在定義時,沒有寫出訪問修飾符,則預設是private。

對應到字段和屬性中,通常字段修飾為private,屬性修飾為public。

1,欄位又稱為:「成員變數」,一般在類的內部做資料互動使用。

2,字段命名規範:camel命名法(首單詞字母小寫)。

(1),字段主要是為類的內部做資料互動使用,字段一般是private。

(2),欄位可讀可寫。

(3),當欄位需要為外部提供資料的時候,請將字段封裝為屬性,而不是使用公有字段(public修飾符),這是物件導向思想所提倡的。

1,在物件導向設計中主要使用屬性描述物件的靜態特徵。

2,pascal命名法(首字母大寫),資料型別要和對應的字段要一致。

屬性本質是乙個方法,其實就是外界訪問私有欄位的入口,屬性本身不儲存任何資料,

在對屬性賦值和讀取的時候其實就是操作的對應私有字段。

1,避免出現非法資料

通過屬性的set方法加入判斷邏輯,從而排除這種非法資料。

(set中加入了if條件判斷)

2,限定屬性唯讀或者只寫

例如有些屬性為了保護資料,根據需要,遮蔽set或get方法達到唯讀和只寫。

3,沒有對應私有欄位的屬性,

4,屬性一般是向外提供資料,主要用來描述物件的靜態特徵,所以,屬性一般是public。

5,屬性具備get和set方法,可以在方法裡加入邏輯處理資料,靈活拓展使用。

6,屬性的作用是對字母進行賦值時加以限制,最開始**中對int寫了兩個,而屬性則對輸入的數字進行了限制,其值只能在10到20之間才可以賦值成功

下面我們再來看看呼叫**

//訪問lei中的成員變數

//就要先進行例項化物件(具體化)

//new關鍵字後面lei方法就是該類物件對應的建構函式

//例項化物件名稱前面呢個lei表示是這個類名稱

lei lei = new lei();

//我們給屬性值限制輸入為10到20以後,

//當我們輸入的數值不在範圍裡面,那麼最後控制台裡輸出為0

//如果輸入的數值在範圍當中的話,那麼就照常輸出

lei.nl = 15;

//下面no是給lei中的字段進行賦值

lei.no = 13;

console.writeline(lei.no);

console.writeline(lei.nl);

console.readkey();

TPS和QPS定義以及兩者之間的區別

一 tps transactions per second 每秒傳輸的事物處理個數 即伺服器每秒處理的事務數。tps包括一條訊息入和一條訊息出,加上一次使用者資料庫訪問。業務tps caps 每個呼叫平均tps tps是軟體測試結果的測量單位。乙個事務是指乙個客戶機向伺服器傳送請求然後伺服器做出反應...

物件?類?兩者之間的關係?

物件就是人們要進行研究的任何事物,它不僅可以表示具體的事物,還能表示抽象的規則,計畫或者事件。物件具有狀態,乙個物件用資料值來描述它的狀態 物件還有操作,用於改變物件的狀態。物件 操作 物件的行為。物件實現了資料和操作的結合,使資料和操作封裝於物件的統一體中。類就有相同特性 資料元素 和行為 功能 ...

方法重寫和方法過載兩者之間有何關聯和區別

q.為什麼需要學習方法重寫?a 父類的功能實現無法滿足子類的需求,需要重寫 方法重寫概述 如果從父類繼承的方法不能滿足子類的需求,可以對其進行改寫,這個過程叫方法的覆蓋 override 也稱為方法的重寫。子類 現了和父類中一模一樣的方法宣告,也被稱為方法從寫。重寫的特點 1 發生在具有子父類兩個關...