標籤:des ar 使用 sp for 檔案 div art 問題
有一次面試的時候,面試官問我,知道部分類嗎?
我說知道,用partial 關鍵字修飾的類就是部分類
他問,你知道為什麼要有部分類嗎?
我愣著了,這個問題我沒想過,而且平時的時候都沒怎麼用到過部分類,我答不上來。。
現在我查閱資料瞭解了一下,下面分享一下我認識的部分類。
部分類是用partial聲明的類,它允許我們把一個類分割成兩個或多個類,當應用程式編譯的完成的時候,多個部分類會結合成一個類,同時partial關鍵字也可以用於聲明結構和介面。
那麼下面問題來了,為什麼要有部分類呢?
既然微軟創造了這麼一個東西,肯定有它存在的意義的
存在意義之一:
如果大家留意的話,會發現我們建立的webform程式或者windowform程式時,預設情況下會自動產生兩個檔案:webfrom1.aspx.cs和webform1.aspx.designer.cs,然後你會發現這兩個類都用了關鍵字partial去聲明了,沒錯,這就是部分類應用的所在,我認為它是為了code-behind技術而生的,因為聲明了部分類,系統自動產生的程式碼和我們自己打的代碼得以分離,已於代碼的閱讀和理解,提高開發效率。
存在意義之二:
處理大型項目時,把一個複雜的類可以分成多個部分類給多個程式員同時進行開發。不過,微軟聲明這是一個好處,除了上面說的例子之外,我沒在其他地方見過的使用部分類,使用部分類別的就讓讓多個部分類一起工作而已。。。 下面就是部分類在使用的時候注意的幾點一:如果聲明了一個部分類,另一個類和部分類的類名相同的話編譯是不通過的,必須兩個都是部分類才能編譯通過二:多個部分類的存取修飾詞要一致。三:如果一個部分類為抽象或者密封類,那麼所有的部分類都要聲明為抽象或者密封類四:如果部分類為衍生類別,那麼其基類要相同 部分方法在部分類中聲明為partial的方法當一個方法聲明為partial時,不能有方法體,你只能聲明方法,不能實現它,或者聲明之後,再寫一個同名的方法,這時就可以有方法體,可以有實現方法的代碼,或者在這個部分類聲明方法,在另一個部分類中聲明和實現它。部分方法的預設修飾符是private,所以不可以再用private去修飾它,而且部分方法的不可以有傳回值,也就是說只能是void。
C# 部分類 和 部分方法