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

C# 四種訪問修飾符及五種訪問級別詳解

     編輯:程式設計綜合問答

四種基本修飾符

修飾符含義適用目標
public訪問不受限制類、結構、接口、委托、枚舉、成員
protected僅限包含類及其派生類訪問類成員、嵌套類型
internal僅限當前程序集內訪問類、結構、接口、成員
private僅限包含類型內部訪問類成員、嵌套類型

五種訪問級別(組合修飾符)

級別聲明訪問範圍
Publicpublic任何程序集、任何代碼
Protectedprotected當前類 + 派生類(跨程序集也可)
Internalinternal當前程序集內任何代碼
Protected Internalprotected internal當前程序集內 + 派生類(跨程序集)
Privateprivate僅當前類型內部
Private Protected (C# 7.2+)private protected當前程序集內的派生類

最佳實踐原則

  • 封裝性:字段默認 private,暴露屬性(public/internal)。
  • 繼承設計:供派生類重寫的方法用 protected 或 protected internal。
  • 程序集邊界:內部實現類/方法用 internal,不暴露給外部引用者。
  • 接口實現:顯式實現接口成員時不加修飾符(默認 public),隱式實現可加 public。

快速查閱表

                    | 同類 | 同程序集派生類 | 同程序集非派生類 | 不同程序集派生類 | 不同程序集非派生類
--------------------|------|----------------|------------------|------------------|------------------
public              |  ✓   |       ✓        |        ✓         |        ✓         |        ✓
protected internal  |  ✓   |       ✓        |        ✓         |        ✓         |        ✗
internal            |  ✓   |       ✓        |        ✓         |        ✗         |        ✗
protected           |  ✓   |       ✓        |        ✗         |        ✓         |        ✗
private protected   |  ✓   |       ✓        |        ✗         |        ✗         |        ✗
private             |  ✓   |       ✗        |        ✗         |        ✗         |        ✗
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved