最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

sealed在C#中的作用說(shuō)明

 更新時(shí)間:2010年10月20日 18:55:37   作者:  
sealed的中文意思是密封,故名思義,就是由它修飾的類(lèi)或方法將不能被繼承或是重寫(xiě)。
sealed關(guān)鍵字的作用:
在類(lèi)聲明中使用sealed可防止其它類(lèi)繼承此類(lèi);在方法聲明中使用sealed修飾符可防止擴(kuò)充類(lèi)重寫(xiě)此方法。
  sealed修飾符主要用于防止非有意的派生,但是它還能促使某些運(yùn)行時(shí)優(yōu)化。具體說(shuō)來(lái),由于密封類(lèi)永遠(yuǎn)不會(huì)有任何派生類(lèi),所以對(duì)密封類(lèi)的實(shí)例的虛擬函數(shù)成員的調(diào)用可以轉(zhuǎn)換為非虛擬調(diào)用來(lái)處理。
密封類(lèi):
密封類(lèi)在聲明中使用sealed 修飾符,這樣就可以防止該類(lèi)被其它類(lèi)繼承。如果試圖將一個(gè)密封類(lèi)作為其它類(lèi)的基類(lèi),C#將提示出錯(cuò)。理所當(dāng)然,密封類(lèi)不能同時(shí)又是抽象類(lèi),因?yàn)槌橄罂偸窍M焕^承的。
  在哪些場(chǎng)合下使用密封類(lèi)呢?實(shí)際上,密封類(lèi)中不可能有派生類(lèi)。如果密封類(lèi)實(shí)例中存在虛成員函數(shù),該成員函數(shù)可以轉(zhuǎn)化為非虛的,函數(shù)修飾符virtual 不再生效。
  讓我們看下面的例子:
復(fù)制代碼 代碼如下:

abstract class AbstractClass
{
public abstract void Method( ) ;
}
sealed class SealedClass: AbstractClass
{
public override void Method( )
{ //... }
}


  如果我們嘗試寫(xiě)下面的代碼
class OtherClass: SealedClass
{
}

  C#會(huì)指出這個(gè)錯(cuò)誤,告訴你SealedClass 是一個(gè)密封類(lèi),不能試圖從SealedClass 中派生任何類(lèi)。
密封方法:
C#還提出了密封方法(sealedmethod) 的概念,以防止在方法所在類(lèi)的派生類(lèi)中對(duì)該方法的重載。對(duì)方法可以使用sealed 修飾符,這時(shí)我們稱(chēng)該方法是一個(gè)密封方法。
  不是類(lèi)的每個(gè)成員方法都可以作為密封方法密封方法,要作為密封方法必須對(duì)基類(lèi)的虛方法進(jìn)行重載,提供具體的實(shí)現(xiàn)方法。所以,在方法的聲明中,sealed 修飾符總是和override 修飾符同時(shí)使用。請(qǐng)看下面的例子代碼:
復(fù)制代碼 代碼如下:

using System ;
class A
{
public virtual void F( )
{
Console.WriteLine("A.F") ;
}
public virtual void G( )
{
Console.WriteLine("A.G") ;
}
}
class B: A
{
sealed override public void F( )
{
Console.WriteLine("B.F") ;
}
override public void G( )
{
Console.WriteLine("B.G") ; }
}
class C: B
{
override public void G( )
{
Console.WriteLine("C.G") ;
}
}

類(lèi)B 對(duì)基類(lèi)A 中的兩個(gè)虛方法均進(jìn)行了重載,其中F 方法使用了sealed 修飾符,成為一個(gè)密封方法。G 方法不是密封方法,所以在B 的派生類(lèi)C 中,可以重載方法G,但不能重載方法F

相關(guān)文章

最新評(píng)論

新平| 宁城县| 扬中市| 铁力市| 黄山市| 陆川县| 浪卡子县| 如东县| 双鸭山市| 常德市| 拜泉县| 三河市| 沙雅县| 宜君县| 金溪县| 额尔古纳市| 吴江市| 桂东县| 太原市| 封开县| 辽阳县| 南丹县| 屏东市| 永春县| 洛川县| 鹿邑县| 南华县| 娱乐| 安陆市| 迭部县| 老河口市| 商洛市| 富川| 肥西县| 乌兰察布市| 进贤县| 曲靖市| 赫章县| 望谟县| 梅州市| 宿松县|