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

C# 類別存取修飾詞、抽象類別與密封類別完整指南

     編輯:關於C語言

類別存取修飾詞

巢狀類別可用 `private`/`protected`/`protected internal`/`private protected`。

抽象類別

  • `abstract class`:不可實例化,可包含抽象/虛擬/實例成員
  • 衍生類別**必須**實作所有抽象成員 (除非也是抽象類別)
  • 可提供部分實作,共享程式碼

密封類別

  • `sealed class`:不可被繼承,葉節點類別
  • 隱含不可為抽象
  • 效能優化:JIT 可內聯非虛擬呼叫

組合使用


public abstract class Animal { public abstract void Sound(); }
public sealed class Dog : Animal { public override void Sound() => Console.WriteLine("Wang"); }
// class Puppy : Dog { } // 編譯錯誤:密封類別不可繼承

程式碼驗證


abstract class MyClass4 { }
sealed class MyClass7 { }

new MyClass4(); // 錯誤:抽象類別不可實例化
new MyClass7(); // 正常

選擇指南

修飾詞說明
`internal` (預設)僅同一組件可見
`public`任何參考組件可見
需求選擇
提供基底實作 + 強制衍生類別實作契約abstract class
純契約、多重實作、無共享程式碼interface
不希望被繼承、效能敏感、領域模型葉節點sealed class
一般可實例化、可繼承類別class (無修飾詞)
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved