首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 抽象類別、密封類別與成員進階應用(二)

     編輯:關於C語言

抽象方法覆寫虛擬方法

當抽象類別繼承虛擬方法並將其標記為 abstract override,衍生類別必須提供新實作,無法呼叫基底實作:

public class D
{
    public virtual void DoWork(int i) { /* 原始實作 */ }
}

public abstract class E : D
{
    public abstract override void DoWork(int i); // 強制衍生類別重新實作
}

public class F : E
{
    public override void DoWork(int i) { /* 新實作 */ }
}

密封類別與密封成員

密封類別

使用 sealed 關鍵字防止被繼承,也不能是抽象類別:

public sealed class D { /* 成員 */ }

密封類別的成員呼叫在執行時可稍微優化。

密封成員

在衍生類別覆寫虛擬成員時,可加上 sealed 防止進一步覆寫:

public class D : C
{
    public sealed override void DoWork() { } // 子類別無法再 override
}
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved