程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#抽象類、密封類及類成員(2)

C#抽象類、密封類及類成員(2)

編輯:關於C語言
果將 virtual 方法聲明為 abstract,則該方法對於從抽象類繼承的所有類而言仍然是虛方法。繼承抽象方法的類無法訪問該方法的原始實現。在前面的示例中,類 F 上的 DoWork 無法調用類 D 上的 DoWork。在此情況下,抽象類可以強制派生類為虛方法提供新的方法實現。

2.密封類和類成員

使用 sealed 關鍵字可以防止繼承以前標記為 virtual 的類或某些類成員。

例如:

public sealed class D

{

   // Class members here.
}

密封類不能用作基類。因此,它也不能是抽象類。密封類禁止派生。由於密封類從不用作基類,所以有些運行時優化可以使對密封類成員的調用略快。

在對基類的虛成員進行重寫的派生類上的類成員、方法、字段、屬性或事件可以將該成員聲明為密封成員。在用於以後的派生類時,這將取消成員的虛效果。方法是在類成員聲明中將 sealed 關鍵字置於 override 關鍵字的前面。例如:

public class D : C
{
    public sealed override void DoWork() { }
}

請參考:http://msdn.microsoft.com/zh-cn/library/kx37x362.ASPx

寵辱不驚,閒看庭前花開花落;去留無意,漫隨天外雲卷雲舒。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved