av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

VB.NET構(gòu)造函數(shù)實際處理方式簡介

在開發(fā)領(lǐng)域,已經(jīng)出現(xiàn)了許多種開發(fā)語言供編程人員隨自己的需求進(jìn)行選擇應(yīng)用。比如VB.NET語言就可以對有特定需求的開發(fā)人員進(jìn)行一定的幫助。VB.NET構(gòu)造函數(shù)進(jìn)行處理的時侯,有兩個陳述值得注意: #t#

創(chuàng)新互聯(lián)建站服務(wù)項目包括寧武網(wǎng)站建設(shè)、寧武網(wǎng)站制作、寧武網(wǎng)頁制作以及寧武網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,寧武網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到寧武省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

(1) 如果類型不包含任何實例構(gòu)造函數(shù)聲明,則VB.NET提供默認(rèn)的構(gòu)造函數(shù);

默認(rèn)參數(shù)調(diào)用直接基類的無參數(shù)構(gòu)造函數(shù)。如果基類沒有可訪問的無參數(shù)構(gòu)造函數(shù),則發(fā)生編譯期錯誤。

(2) 構(gòu)造函數(shù)不能繼承;

陳述(1)包含兩個方面的信息:

①是如果類型不包含任何實例構(gòu)造函數(shù)聲明,則VB.NET提供默認(rèn)的構(gòu)造函數(shù),即下面的聲明是允許的,在類Shape中我們沒有顯式聲明任何構(gòu)造函數(shù),但是我們?nèi)匀豢梢酝ㄟ^VB.NET自動提供的無參數(shù)構(gòu)造函數(shù)New()來實例化類;

  1. Module TestModule Test   
  2. Public Sub Main()Sub Main()   
  3. Dim shape1 As Shape = New Shape   
  4. End Sub   
  5. End Module   
  6. Public Class ShapeClass Shape   
  7. Public Sub Draw()Sub Draw()   
  8. 'some codes here.   
  9. End Sub   
  10. End Class  

②是如果類型中包含有實例構(gòu)造函數(shù)的聲明,那么VB.NET不再提供默認(rèn)的構(gòu)造函數(shù),例如,我們在類Shape中添加了一個帶參數(shù)的構(gòu)造函數(shù),

 
 
 
  1. Public Class ShapeClass Shape   
  2. Private _pt As Point   
  3. Public Sub New()Sub New(p As Point)   
  4. _pt = p   
  5. End Sub   
  6. Public Sub Draw()Sub Draw()   
  7. 'some codes here.   
  8. End Sub   
  9. End Class  

那么,如果直接實例化類時,則會產(chǎn)生錯誤;

Dim shape1 As Shape = New Shape

只能通過調(diào)用Shape類中顯式聲明的帶參數(shù)的構(gòu)造函數(shù)來實例化類,如下,

Dim shape1 As Shape = New Shape(New Point(0, 0))

因此,如果要在類中同時使用無參數(shù)和帶參數(shù)的構(gòu)造函數(shù),必須同時顯式地聲明兩種構(gòu)造函數(shù)。

 
 
 
  1. Public Class ShapeClass Shape   
  2. Private _pt As Point   
  3. Public Sub New()Sub New()   
  4. 'some codes here.   
  5. End Sub   
  6. Public Sub New()Sub New(p As Point)   
  7. _pt = p   
  8. End Sub   
  9. Public Sub Draw()Sub Draw()   
  10. 'some codes here.   
  11. End Sub   
  12. End Class  

陳述(2),構(gòu)造函數(shù)不能繼承,即,如果要使子類與基類有相同的構(gòu)造函數(shù),那么必須在每個子類中都顯式的聲明與基類構(gòu)造相同的構(gòu)造函數(shù),例如:

 
 
 
  1. Public MustInherit Class 
    ShapeClass Shape   
  2. Private _pt As Point   
  3. Public Sub New()Sub New()   
  4. 'some codes here.   
  5. End Sub   
  6. Public Sub New()Sub New(p As Point)   
  7. _pt = p   
  8. End Sub   
  9. Public MustOverride Sub Draw()Sub Draw()   
  10. End Class   
  11. Public Class LineClass Line   
  12. Inherits Shape   
  13. Public Sub New()Sub New()   
  14. End Sub   
  15. Public Sub New()Sub New(p As Point)   
  16. MyBase.New(p)   
  17. End Sub   
  18. Public Overrides Sub Draw()Sub Draw()   
  19. 'some codes here.   
  20. End Sub   
  21. End Class  

這一點非常重要而且也很有意義。因為我們往往傾向于認(rèn)為子類繼承了基類所有的屬性和方法,這往往導(dǎo)致我們的程序出現(xiàn)編譯錯誤。

綜合以上兩個陳述,在實際編程中應(yīng)遵循一個原則:在類中,無論是基類還是子類,顯式地聲明所有需要的無參數(shù)或帶參數(shù)構(gòu)造函數(shù)。遵循這個原則,既有利于提高編譯正確代碼的速度,也有利于自己和其他程序員理解代碼。


新聞標(biāo)題:VB.NET構(gòu)造函數(shù)實際處理方式簡介
轉(zhuǎn)載注明:http://uogjgqi.cn/article/ccccodd.html
掃二維碼與項目經(jīng)理溝通

我們在微信上24小時期待你的聲音

解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流