日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【转】构造函数的执行序列

發布時間:2025/5/22 编程问答 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【转】构造函数的执行序列 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

任何構造函數都可以進行配置,以便在執行自己的代碼前調用其它構造函數。

我們首先看看在創建類的實例時會發生什么情況。為了實例化派生的類,必須實例化它的基類。而要實例化這個基類,又必須實例化這個基類的基類,這樣一直實例化到System.Object為止。結果是無論使用什么構造函數實例化一個類,總是要先調用System.Object.Object()。

如果對一個類使用非默認的構造函數,默認的情況是在其基類上使用匹配于這個構造函數簽名的構造函數。如果沒有找到這樣的構造函數,就使用基類的默認構造函數(根類System.Object總是要使用默認的構造函數,因為這個類沒有非默認的構造函數)。

我們以下面這個小代碼段例子作一些說明:

???? public class MyBaseClass
???? {
???????? public MyBaseClass()
???????? {
???????? }

?

??? ???? public MyBaseClass(int i)
???????? {
???????? }
???? }

?

???? public class MyDerivedClass : MyBaseClass
???? {
???????? public MyDerivedClass()
???????? {
???????? }

?

???????? public MyDerivedClass(int i)
???????? {
???????? }

?

???????? public MyDerivedClass(int i, int j)
???????? {
???????? }
???? }

如果以下面的方式實例化MyDerivedClass

???? MyDerivedClass myObj = new MyDerivedClass();

則發生下面的一系列事件:
??????? 1.執行System.Object.Object()構造函數。
??? 2.執行MyBaseClass.MyBaseClass()構造函數。
??? 3.執行MyDerivedClass.MyDerivedClass()構造函數。

?

如果使用下面的語句:

MyDerivedClass myObj = new MyDerivedClass(4);

則發生下面的—系列事件:
??????? 1.執行System.Object.Object()構造函數。
??? 2.執行MyBaseClass.MyBaseClass(int i)構造函數。
??? 3.執行MyDerivedClass.MyDerivedClass(int i)構造函數。

?

如果使用下面的語句:

MyDerivedClass myObj = new MyDerivedClass(4,8);

則發生下面的—系列事件:
??????? 1.執行System.Object.Object()構造函數。
??? 2.執行MyBaseClass.MyBaseClass()構造函數。
??? 3.執行MyDerivedClass.MyDerivedClass(int i, int j)構造函數。

?

有時需要對發生的事件進行更多的控制。例如,在上面的實例化范例中,需要有下面的事件序列:
??????? 1.執行System.Object.Object()構造函數。
??? 2.執行MyBaseClass.MyBaseClass(int i)構造函數。
??? 3.執行MyDerivedClass.MyDerivedClass(int i, int j)構造函數。

使用這個序列可以在編寫MyBaseClass(int i)中使用int i參數的代碼,即MyDerivedClass(int i, int j)構造函數要做的工作比較少,只需要處理int j參數(假定int i參數在兩種情況下有相同的含義)。我們僅需指定在派生類的構造函數定義中所使用的基類的構造函數,如下所示:

???? public class MyDerivedClass : MyBaseClass
???? {
????????? ……
???????? public MyDerivedClass(int i, int j) : base(i)
???????? {
???????? }
???? }

其中,base關鍵字指定.NET實例化過程,以使用基類中匹配指定簽名的構造函數。這個例子中使用一個int參數,所以在實例化序列中應調用MyBaseClass(int i)

同時我們也可以使用這個關鍵字指定基類構造函數的字面值。

???? public class MyDerivedClass : MyBaseClass
???? {
???????? public MyDerivedClass() : base(5)
???????? {
???????? }
???????? ……
???? }

這段代碼將執行以下序列:
??????? 1.執行System.Object.Object()構造函數。
????2.執行MyBaseClass.MyBaseClass(int i)構造函數。
??? 3.執行MyDerivedClass.MyDerivedClass()構造函數。

?

下面我們介紹另一個關鍵字this。這個關鍵字指定在調用指定的構造函數前,.NET實例化過程對當前類使用非默認的構造函數。

???? public class MyDerivedClass : MyBaseClass
???? {
???????? public MyDerivedClass() : this(5,6)
???????? {
???????? }
???????? ……
???????? public MyDerivedClass(int i, int j) : base(i)
???????? {
???????? }
???? }

這段代碼將執行以下序列:
??????? 1.執行System.Object.Object()構造函數。
??? 2.執行MyBaseClass.MyBaseClass(int i)構造函數。
??? 3.執行MyDerivedClass.MyDerivedClass(int i,int j)構造函數。
??? 4.執行MyDerivedClass.MyDerivedClass()構造函數。

?

唯一的限制是使用thisbase關鍵字只能指定一個構造函數。但是如上所示,這并不是一個很嚴厲的限制,按照上述方式仍可以構造相當復雜的執行序列。
原文URL:http://www.cnblogs.com/Bear-Study-Hard/archive/2006/01/09/313551.html

轉載于:https://www.cnblogs.com/jeriffe/articles/1421265.html

總結

以上是生活随笔為你收集整理的【转】构造函数的执行序列的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日产精品久久久久久久蜜臀 | 国产成人av影院 | 亚洲色欧美 | 理论片午夜| 最近中文字幕在线中文高清版 | 熟妇人妻中文字幕无码老熟妇 | 国产又黄视频 | 日p视频在线观看 | 天天操天天插天天干 | 成年人福利网站 | 秋霞无码一区二区 | 国产精品久久久久久久成人午夜 | 白浆网站 | 久草视频中文在线 | 麻豆av免费 | 国产精品无码久久久久 | 在线看片中文字幕 | 国产精品国产自产拍高清av | 久久久91精品国产一区二区三区 | 可以免费看黄的网站 | 亚洲性色图 | 亚洲国产成人精品久久久 | 在线观看亚洲网站 | 欧美综合视频 | 麻豆亚洲av熟女国产一区二 | 欧美性大交 | 又黄又爽的免费视频 | 国产精品ⅴa有声小说 | 亚洲欧美综合另类自拍 | 精品午夜一区二区三区 | 免费大片黄在线观看视频网站 | 日韩成人在线看 | 在线看黄网址 | 国产主播福利在线 | 亚洲第一页综合 | xx在线视频| 91丨九色丨蝌蚪丨对白 | 牲欲强的熟妇农村老妇女视频 | 我要爱爱网 | 国产毛片毛片毛片毛片 | 欧美精品123区 | 欧美日韩免费做爰视频 | 韩国三级与黑人 | 虫族全黄h全肉污文 | 97欧美| 久久久免费网站 | 国产成人综合在线视频 | 天天干,天天干 | 美女黄18以下禁止观看 | 黄色小视频在线免费看 | 亚洲欧洲一区二区三区 | 天堂色在线| 亚洲第一视频在线播放 | 深夜福利成人 | 1515hh成人免费看 | 能看av的网址 | 一道本久在线中文字幕 | 久久久精品中文字幕 | www色中色 | 欧美午夜精品理论片 | 国产一级做a爰片久久毛片男 | 免费看黄色网址 | 泰坦尼克号3小时49分的观看方法 | 欧美日韩国产高清视频 | 国产精品白嫩极品美女视频 | 免费一区二区视频 | 日本三级吃奶头添泬无码苍井空 | 欧美一区二区三区在线观看 | 撸啊撸av| eeuss国产一区二区三区黑人 | 亚洲综合五区 | 国产精品21p | 欧美猛交xxx| 欧洲亚洲一区 | 中文字幕在线观看你懂的 | 免费在线一级片 | 日韩一区二区免费视频 | 国产一级特黄aaa大片 | 娇妻被肉到高潮流白浆 | 久久久资源 | 俺也去在线视频 | 老司机激情影院 | 91 高清 在线 制服 偷拍 | 欧美 丝袜 自拍 制服 另类 | 国产在线日韩 | 日韩中文字幕在线播放 | 欧美a网| 免费av电影网站 | 国产不卡毛片 | 日本一级二级视频 | 韩日产理伦片在线观看 | 国产精品久久久爽爽爽麻豆色哟哟 | 欧美一级特黄aaaaaa大片在线观看 | 怡春院欧美 | 视频一区二区欧美 | 亚洲一二三四在线观看 | 一级黄色片在线 | 成人v片 | 午夜伦理av |