首頁>技術>

這是一篇隨筆心得。

如何使用訪問修飾符public、protected、private、internal?

理論上來說,剛開始入行寫C#的人,都會用這些訪問修飾符,都知道都懂這些訪問修飾符。

現象:

您發現了嗎,你懂這些東西,不代表你是真懂。大多數人都是假懂

不說別人,就說你自己,對,指的就是你、你、你自己。

你回顧一下,自己多年來所開發的專案,整個專案下來,你是不是隻會public、private兩種,整個專案,幾乎就是這2種搞定。

間或偶爾用一下其它的,如protected,可能自己的protected,還是被迫使用的,因為微軟C#類庫的基類已經定義了protected,我不寫protected override 不行啊。

原因:

假懂訪問修飾符的根本原因,其實是面向物件不理解導致的。

萬物皆物件,程式碼世界就是這樣。這話好理解,可能寫起來程式碼來,是真的很難很難。

我也不可能透過這篇隨筆,就讓你擁有面向物件的思想,就能讓你以後改變。

我發明的言論(全網獨家):

判斷一個人編碼水平的高低,有2個表徵:

一是Visual Studio快捷鍵的使用熟練程度和多寡。這條可能是有水分的水平表徵。

二是一個專案,懂得熟練運用訪問修飾符編寫程式碼的人。這條是真正的有水平的人的表徵。

三是專案中的所有方法,大部分方法體程式碼行數都在30行以下。這是掌握面向物件的人的表徵。

很遺憾,大部分菜鳥都無法做好第2點。至於第3點嘛,用屁股想想就知道啦。

使用訪問修飾符的原則:

1.基於C#基礎教程的基本應用,這種就不多說了。看書,書怎麼講就怎麼用。下面是我的經驗心得。

2.凡是你不需要讓別人使用的類,應當設定為internal。

3.凡是你不想公開讓別人呼叫的方法,都應該首先考慮protected,然後自己在本程式集是否要跨模組使用,再決定是否改為internal。

4.凡是你基於頁面級別來操作的變數,應使用private私有。如果您需要公開該變數時,請單獨新增一個internal或者public的訪問器。頁面級別是指你的page、winform窗體等。

5.在你的頁面級別,可以多用私有變數,進行整個當前頁面級進行互聯互通。而不是不斷的增加方法引數。不知道這點讀者能不能看明白我的意思?

判斷標準:

判斷你使用訪問修飾符成功的一個標準就是:

在頁面級別,你不會讓別人看到不該看的東西。

在程式集級別,你也不會讓別人看到不該看的東西。

舉例子來講:

你的業務邏輯層,通常是被UI層呼叫的。如果你在UI層,呼叫了邏輯層後,發現你可以無所不能的訪問到各種方法,各種屬性。而這些屬性可能是你完全不需要的,那麼,這個訪問修飾層就是做的失敗的。

如上圖紅圈,如果智慧感知,可以看到不該看,而且永遠用不上的東西,那麼訪問修飾符的設計就應當視為做的不好。

祝您用餐愉快。

9
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • 集算器 SPL 抓取網頁資料