日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
VB.NET構(gòu)造函數(shù)實(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)行處理的時(shí)侯,有兩個(gè)陳述值得注意: #t#

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

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

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

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

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

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

  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  

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

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

Dim shape1 As Shape = New Shape

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

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

因此,如果要在類中同時(shí)使用無參數(shù)和帶參數(shù)的構(gòu)造函數(shù),必須同時(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è)子類中都顯式的聲明與基類構(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  

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

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


當(dāng)前題目:VB.NET構(gòu)造函數(shù)實(shí)際處理方式簡介
文章出自:http://www.5511xx.com/article/ccccodd.html