sealed

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

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

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

將密封類用作基類或將 abstract 修飾符與密封類一起使用是錯誤的。

結構是隱式密封的;因此它們不能被繼承。

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

示例

// 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

在前面的示例中,如果試圖通過使用下面的語句從密封類繼承:

class MyDerivedC: SealedClass {} // Error

將收到錯誤消息:

'MyDerivedC' cannot inherit from sealed class 'SealedClass'

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章