c 屬性和索引器

2021-09-22 07:44:09 字數 1053 閱讀 5407

1、屬性

所謂屬性其實就是特殊的類成員,它實現了對私有類域的受控訪問。在c#語言中有兩種屬性方法,其一是get,通過它可以返回私有域的值,其二是set,通過它就可以設定私有域的值。比如說,以下面的**為例,建立學生姓名屬性,控制對name欄位的受控訪問:

2、索引器

簡單說來,所謂索引器就是一類特殊的屬性,通過它們你就可以像引用

陣列一樣引用自己的類。顯然,這一功能在建立集合類的場合特別有用,而在其他某些情況下,比如處理大型檔案或者抽象某些有限資源等,能讓類具有類似陣列的行為當然也是非常有用的。比如,上例中,我們假設乙個班級有若干個學生,構建索引器就可以很方便地呼叫:

上面**中,我們看到索引器的訪問器帶乙個引數(引數為整數),其實可以構建多個引數的索引器。還以上述**為例,我們要根據學生學號和姓名得到學生的考試總分,修改後**如下:

3、總結:

<1>、

屬性的定義:

訪問修飾符 返回型別 屬性名

{get{語句集合}

set{語句集合}

索引器的定義:

訪問修飾符 返回型別 this[引數型別 引數...]

{get{語句集合}

set{語句集合}

}<2>、

索引器使得物件可按照與陣列相似的方法進行索引。

this 關鍵字用於定義索引器。

get 訪問器返回值。set 訪問器分配值。

value 關鍵字用於定義由 set 索引器分配的值。

索引器不必根據整數值進行索引,由你決定如何定義特定的查詢機制。

索引器可被過載。

<3>、屬性和索引器的主要區別: 

a、類的每乙個屬性都必須擁有唯一的名稱,而類裡定義的每乙個索引器都必須擁有唯一的簽名(signature)或者引數列表(這樣就可以實現索引器重載)。 

b、屬性可以是static(靜態的)而索引器則必須是例項成員。

<4>、索引器過載例項:

c 屬性和索引器

1 屬性 所謂屬性其實就是特殊的類成員,它實現了對私有類域的受控訪問。在c 語言中有兩種屬性方法,其一是get,通過它可以返回私有域的值,其二是set,通過它就可以設定私有域的值。比如說,以下面的 為例,建立學生姓名屬性,控制對name欄位的受控訪問 code using system public...

c 的屬性和索引器

1 屬性 所謂屬性其實就是特殊的類成員,它實現了對私有類域的受控訪問。在c 語言中有兩種屬性方法,其一是get,通過它可以返回私有域的值,其二是set,通過它就可以設定私有域的值。比如說,以下面的 為例,建立學生姓名屬性,控制對name欄位的受控訪問 屬性定義 訪問修飾符 返回型別 屬性名 get ...

C 索引器與屬性

索引器允許類或結構的例項按照與陣列相同的方式進行索引。索引器類似於屬性,不同之處在於它們的訪問器採用引數。屬性 class sampleclass set 索引器 索引器使得物件可按照與陣列相似的方法進行索引。get 訪問器返回值。set 訪問器分配值。this 關鍵字用於定義索引器。value 關...