c#類的嵌套_第1頁
已閱讀1頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、嵌套類(NestedClass)是在類中定義的類。以下把擁有內嵌類的類稱為外部類。嵌套類分為靜態(tài)嵌套類和非靜態(tài)嵌套類,其中非靜態(tài)嵌套類也被稱為內部類。嵌套類在UML中是composite的另外一種代碼表示形式,表示耦合度更高,并且與外部類更加緊密。一般類的訪問修飾符可以定義為默認的internal或者public,而內嵌類就有比較多的選擇,可以是為protected、internal、public以及默認的private。內嵌類與外部類

2、的訪問限制內嵌類與外部類的訪問限制嵌套類可以訪問外部類的方法、屬性、字段而不管訪問修飾符的限制。如:publicclassAprivatestaticint_AIntprivateint_instanceIntprivatestaticvoidAMethod()Console.WriteLine(_AInt)publicvoidSayIt()NestedA.Method(this)privateclassNestedApublicsta

3、ticvoidMethod(Aa)靜態(tài)成員_AInt=100AMethod()實例成員a._instanceInt=10a.SayIt()但是外部類只能夠訪問修飾符為public、internal嵌套類的字段、方法、屬性。示例如下:publicclassApublicstaticvoidAMethod()成功NestedA.StaticMethod()編譯報錯NestedA._Int=100重寫部分因為C中A中繼承,因此C_Nested

4、可以繼承Nested類,從而獲取重寫父嵌套類的機會。但是Nested必須是可繼承類及可訪問的(非private、sealed、static)。嵌套類可以隨意訪問外部類的任何數(shù)據(jù)屬性,而外部類訪問嵌套類就只能遵守訪問修飾符。從這個角度看,嵌套類是外部類的補充,通過嵌套類可以獲取更好的封裝性,增加外部類的可維護性和可讀性。從程序結構看,嵌套類在邏輯上更加接近使用類??梢愿行У乇硎绢惻c類之間的緊密程度。為類管理提供除命名空間外的另一種方法。

5、懶加載懶加載嵌套類的靜態(tài)構造函數(shù)不會隨著外部類的觸發(fā)而初始化。因此可以有效地避免創(chuàng)建時候初始化時間,當需要使用內嵌類的時候,嵌套類才開始初始化。publicclassOutsidestaticOutside()Console.WriteLine(“OutsideInilizlized“)publicvoidSayIt()Nested.Run()privateclassNestedstaticNested()Console.WriteLi

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論