sealed

sealed 修飾符能夠應用於類、實例方法和屬性。密封類不能被繼承。密封方法會重寫基類中的方法,但其自己不能在任何派生類中進一步重寫。當應用於方法或屬性時,sealed 修飾符必須始終與 override(C# 參考) 一塊兒使用。javascript

在類聲明中使用 sealed 修飾符可防止繼承此類,例如:html

      sealed class SealedClass 
{
    public int x; 
    public int y;
}

將密封類用做基類或將 abstract 修飾符與密封類一塊兒使用是錯誤的。java

結構是隱式密封的;所以它們不能被繼承。編程

有關繼承的更多信息,請參見繼承(C# 編程指南)ide

示例

// cs_sealed_keyword.cs
using System;
sealed class SealedClass
{
    public int x;
    public int y;
}

class MainClass
{
    static void Main()
    {
        SealedClass sc = new SealedClass();
        sc.x = 110;
        sc.y = 150;
        Console.WriteLine("x = {0}, y = {1}", sc.x, sc.y);
    }
}
輸出

x = 110, y = 150

在前面的示例中,若是試圖經過使用下面的語句從密封類繼承:spa

class MyDerivedC: SealedClass {} // Errorcode

將收到錯誤消息:xml

'MyDerivedC' cannot inherit from sealed class 'SealedClass'htm

相關文章
相關標籤/搜索