1 回答

TA貢獻(xiàn)1816條經(jīng)驗(yàn) 獲得超4個(gè)贊
在c#中。類是主要的類型。類聲明定義新的引用類型。一個(gè)類可以從另一個(gè)類繼承。并且可以實(shí)現(xiàn)接口。類成員可以包括常數(shù)、字段、方法、屬性、事件、索引器、運(yùn)算符、實(shí)例構(gòu)造函數(shù)、析構(gòu)函數(shù)、靜態(tài)構(gòu)造函數(shù)和嵌套類型聲明。每個(gè)成員都有關(guān)聯(lián)的可訪問性。它控制能夠訪問該成員的程序文本區(qū)域。有五種可能的可訪問形式。
(1)public。不限制訪問。
(2)protected。盡在同一個(gè)類內(nèi)?;蛟擃惖呐缮愔性L問。
(3)Internal。僅從同一個(gè)項(xiàng)目內(nèi)訪問。
(4)protected internal。訪問限于同一個(gè)項(xiàng)目或派生類。
(5)Private。訪問限于本類。
2.字段。是表示與對(duì)象或類關(guān)聯(lián)的變量的成員。例子如下——
class Color
{
internal ushort redPart;
internal ushort bluePart;
internal ushort greenPart;
public Color(ushort red,ushort blue,ushort green)
{
redPart=red;
bluePart=blue;
greenPart=green;
}
.
}
此例顯示了一個(gè)Color類,該類具有名為redPart、bluePart、greenPart的內(nèi)部實(shí)例字段。
3.方法。方法是實(shí)現(xiàn)可以由對(duì)象或類執(zhí)行的計(jì)算或操作的成員。方法有一個(gè)形參表(可能為空)、一個(gè)返回值(若返回值類型為void則沒有)。并且方法可以是靜態(tài)的或是非靜態(tài)的。通過類訪問靜態(tài)方法。通過類的實(shí)例訪問實(shí)例方法。
下面代碼定義了一個(gè)Stack類。該類具有若干靜態(tài)方法(Clone和Flip)和若干實(shí)例方法(Push、Pop和ToString)。
public class Stack
{
public static Stack Clone(Stack s) {}
public static Stack Flip(Stack s) {}
public object Pop() {}
public void Push(object o) {..}
public override string ToString() {}
}
class Test
{
static void Main()
{
Stack s=New Stack();
for(int i=1;i<10;i++)
s.Push(i);
Stack flipped=Stack.Flip(s);
Stack cloned=Stack.Clone(s);
Console.WriteLine("Original stack:"+s.ToString());
Console.WriteLine("Flipped stack:"+flipped.ToString());
Console.WriteLine("Cloned stack:"+cloned.ToString());
}
}
4.屬性。屬性提供對(duì)對(duì)象或類的特性的訪問。屬性是字段的自然擴(kuò)展。兩者都是具有關(guān)聯(lián)類型的命名成員。并且訪問字段和屬性的語法相同。然而。與字段不同。屬性不表示存儲(chǔ)位置。相反。屬性有訪問器。這些訪問器指定在他們的值被讀取或?qū)懭霑r(shí)執(zhí)行的語句。
屬性用屬性聲明定義。屬性聲明的第一部分看上去和字段聲明非常類似。第二部分包含一個(gè)get訪問器和/或一個(gè)set訪問器。在下面的例子中。Button類定義一個(gè)Caption屬性。
public class Button
{
private string caption;
public string Caption
{
get
{
return caption;
}
set
{
caption=value;
Repaint();
}
}
}
可讀取并寫入的屬性(如Caption)同時(shí)包含get和set訪問器。當(dāng)讀取屬性值時(shí)調(diào)用訪問器。當(dāng)寫入屬性值時(shí)則調(diào)用set訪問器。在set訪問器中。傳入一個(gè)名為value的隱式函數(shù)。利用該參數(shù)可以更新屬性。
利用屬性可以制造直接訪問類的成員的假象。但同時(shí)又可以對(duì)訪問過程進(jìn)行設(shè)置。一般講類的字段定義為私有的。而通過設(shè)置相應(yīng)的屬性訪問該私有字段。
5.事件。事件是使對(duì)象或類能夠提供通知的成員。類通過提供事件聲明來定義事件。事件聲明類似于字段聲明。但他增加了event關(guān)鍵字和一組可選的事件訪問器。此聲明的類型必須為委托類型。
委托類型的實(shí)例封裝一個(gè)或多個(gè)可調(diào)用的實(shí)體。對(duì)于實(shí)例方法??烧{(diào)用的實(shí)體由一個(gè)實(shí)例和該實(shí)例的方法組成。對(duì)于靜態(tài)方法。可調(diào)用的實(shí)體僅由一個(gè)方法組成。已知委托實(shí)例和適當(dāng)?shù)膮?shù)集??梢杂脜?shù)集調(diào)用此委托實(shí)例的所有方法。
- 1 回答
- 0 關(guān)注
- 135 瀏覽
添加回答
舉報(bào)