c 屬性和索引器

2022-01-12 05:12:21 字數 3132 閱讀 5777

1、屬性

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

code

using

system;

public

class

student

set}

}class

program

}2、索引器

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

code

using

system;

using

system.collections.generic;

public

class

student

set}

private

string

name;

//////

屬性///

public

string

name

set}

public

student(

string

name)

public

student()

}class

program

//設定索引器的值

student[

0].name ="

jeff";

console.writeline(

"after modified,all the students:");

for(

inti =0

; i 

<

num; i++)

console.read();}}

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

code

using

system;

using

system.collections.generic;

public

class

student

}return

null;}

set}

private

intsid; 

//學號

public

intsid

set}

private

string

name;

//姓名

public

string

name

set}

private

intscore; 

//總分

public

intscore

set}

public

student(

intsid, 

string

name, 

intscore)

public

student()

}class

program

}3、總結:

<1>、

屬性的定義:

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

{get{語句集合}

set{語句集合}

索引器的定義:

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

{get{語句集合}

set{語句集合}

}<2>、

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

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

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

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

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

索引器可被過載。

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

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

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

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

code

using

system;

using

system.collections.generic;

public

class

student

}return

null;}

set}

//////

索引器重載

//////

///public

student 

this

[int

i] //

i從0開始

set}

private

intsid; 

//學號

public

intsid

set}

private

string

name;

//姓名

public

string

name

set}

private

intscore; 

//總分

public

intscore

set}

public

student(

intsid, 

string

name, 

intscore)

public

student()

}class

program

console.read();}}

c 屬性和索引器

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

c 的屬性和索引器

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

C 索引器與屬性

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