C#快速入門教程(4)——類成員的作用域
本課討論的是類成員的作用域,也就是類成員的訪問級別,前面的示例中,我們已經看到兩種訪問級別,即私有的(private)和公共的(public),本課將對常用的訪問級別做一些總結和說明。
首先討論private訪問級別,顧名思義,此類成員只能在類的內部使用,一般來講,會使用私有的欄位或屬性儲存內部資料,使用私有方法進行輔助操作;當然,類的其他型別成員也可以根據選擇是否定義為只能內部訪問。
public訪問級別就大方多了,此類成員可以通過類或例項訪問,可以在類的外部進行呼叫,一般來講,類的主要資料和操作應該定義為public訪問級別,為類的使用者提供資料及其操作介面。
另一個常用的訪問級別是受保護的(protected),此類成員只允許在本類或其子類中訪問。此類成員在類的繼承結構中非常有用,定義為protected級別的成員,可以在類與子類的內部傳遞資料,有效避免了private和public兩種訪問級別的不足,比如,需要在子類中使用的資料,在父類中定義為private是不行的,但定義為public訪問級別又可能將不需要公開的資料和操作暴露了。在“繼承”一課時,我們會看到protected訪問級別的具體應用。
還一個訪問修飾符是internal關鍵字,稱為內部訪問級別,這類成員與public訪問級別類似,但只能在其定義的程式集(assembly)內使用。
除了獨立使用這些,還可以將protected和internal組合使用,定義的成員只能被本類或本程式集內的子類訪問。
如果定義類的成員時沒有指定訪問修飾符,則預設為private級別,只能在其定義的範圍內使用。不只是類的成員,在後續內容的各類語句結構中,同樣遵循這一原則,即,在某一語句塊定義的變數、物件等只能在其定義的語句塊中使用,應注意避免同名變數或物件的衝突問題,特別在巢狀結構或資料傳遞過程中更需要重視訪問級別問題。
本課,大家需要理解訪問修飾符private、public、protected和internal的含義,以及語句塊訪問級別的概念,它接近於語句塊私有成員的概念。
CHY軟體小屋原創作品!
相關文章
- C#快速入門教程(3)——類的靜態成員和例項成員C#
- 《C#快速入門教程》目錄C#
- C#快速入門教程(16)—— 介面C#
- C#快速入門教程(6)——方法C#
- C#快速入門教程(26)—— 繪圖C#繪圖
- C#快速入門教程(21)—— 泛型C#泛型
- C#快速入門教程(15)—— 繼承C#繼承
- C#快速入門教程(8)——整數C#
- C#快速入門教程(28)—— ADO.NETC#
- C#快速入門教程(25)—— 日期與時間C#
- C#快速入門教程(22)—— 常用集合型別C#型別
- C#快速入門教程(30)—— 繼續學習C#
- C#快速入門教程(18)—— 異常處理C#
- C#快速入門教程(12)—— if語句結構C#
- C#快速入門教程(27)—— SQL Server資料庫C#SQLServer資料庫
- C#快速入門教程(19)—— 索引器與陣列C#索引陣列
- C#快速入門教程(5)——欄位與屬性C#
- C#快速入門教程(11)—— 字元和字串型別C#字元字串型別
- C#快速入門教程(13)—— switch語句結構C#
- C#快速入門教程(7)——資料型別概述C#資料型別
- C#快速入門教程(2)——程式碼與測試C#
- C#快速入門教程(20)—— 字串與正規表示式C#字串
- C#快速入門教程(23)—— using語句和IDisposable介面C#
- C#快速入門教程(14)—— 迴圈語句結構C#
- C#快速入門教程(1)——物件導向程式設計C#物件程式設計
- Materialize快速入門教程
- C#快速入門教程(24)—— 路徑、目錄與檔案C#
- C#快速入門教程(17)—— 委託、事件與Lambda表示式C#事件
- C# 12 Blazor入門教程C#Blazor
- Jupyter notebook快速入門教程
- C# 變數作用域C#變數
- c#入門教程(菜鳥級)C#
- 快應用快速入門教程
- go語言快速入門教程Go
- 全面的Docker快速入門教程Docker
- Vue3快速入門教程Vue
- C#快速入門教程(10)——布林型別與布林運算C#型別
- Octave快速入門(4)——製圖