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 關...