首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

C# 類繼承機制:單一繼承模型與成員可見性規則詳解

     編輯:程式設計綜合問答

C# 無繼承修飾符

不同於 C++ 的 public/protected/private 繼承,C# 只有一種繼承方式,語義等同於 C++ 的 public 繼承。基類成員在派生類中的可見性僅取決於成員本身的訪問修飾符。

成員可見性對照表

基類成員修飾符派生類中可見性說明
publicpublic完全可見,可直接訪問
protectedprotected僅派生類內部可見
private不可見派生類無法訪問,佔用內存但不可直接引用
internalinternal同程序集內可見
protected internalprotected internal同程序集或派生類可見

歷史演進

  • C# 1.0:繼承語義接近 C++ private 繼承(基類 private 成員可見),但很快發現破壞封裝與安全性。
  • C# 2.0 起:改為當前模型,Anders Hejlsberg 明確指出基於安全性考慮。

最佳實踐

  • 封裝字段,暴露屬性(public/protected 屬性包裝 private 字段)。
  • 需派生類訪問的內部邏輯用 protected 方法/屬性。
  • 避免在基類構造函數中調用虛擬方法(派生類尚未初始化)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved