成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

開發(fā) 后端
VB.NET構造函數(shù)在實際處理過程中有些細節(jié)地方值得我們去注意。下面就通過本文介紹的相關內容對此進行詳細的解讀。

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

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

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

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

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

①是如果類型不包含任何實例構造函數(shù)聲明,則VB.NET提供默認的構造函數(shù),即下面的聲明是允許的,在類Shape中我們沒有顯式聲明任何構造函數(shù),但是我們仍然可以通過VB.NET自動提供的無參數(shù)構造函數(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  

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

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

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

因此,如果要在類中同時使用無參數(shù)和帶參數(shù)的構造函數(shù),必須同時顯式地聲明兩種構造函數(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),構造函數(shù)不能繼承,即,如果要使子類與基類有相同的構造函數(shù),那么必須在每個子類中都顯式的聲明與基類構造相同的構造函數(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  

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

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

責任編輯:曹凱 來源: 博客園
相關推薦

2010-01-18 16:58:29

VB.NET Over

2010-01-13 17:23:36

VB.NET動態(tài)事件

2010-01-22 18:32:23

VB.NET數(shù)據(jù)并發(fā)性

2010-01-11 17:58:36

VB.NET壓縮ZIP

2010-01-11 10:44:47

VB.NET多窗體

2009-11-02 09:43:01

VB.NET構造函數(shù)

2009-10-14 13:21:46

VB.NET Acco

2009-10-28 17:44:31

VB.NET語言

2010-01-18 17:37:32

VB.NET文本框處理

2009-10-12 13:32:58

VB.NET線程構造器

2010-01-12 18:12:58

VB.NET事件

2009-10-30 15:37:23

VB.NET Sub創(chuàng)

2009-10-15 09:16:35

VB.NET重新申明數(shù)

2009-10-16 11:38:47

VB.NET使用Ali

2009-10-21 10:45:50

VB.NET Quic

2009-10-15 17:50:48

VB.NET Spli

2010-01-07 18:05:18

VB.NET事務處理

2009-11-03 09:48:47

VB.NET構造

2009-11-02 17:54:44

VB.NET數(shù)組

2010-01-07 18:17:00

VB.NET連接SAP
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产高清一区二区 | 精品国产一区二区三区久久久蜜月 | 欧美精品一区二区在线观看 | 亚洲国产一区二区在线 | 99精品电影 | 免费黄色av网站 | 91免费视频观看 | 国产色爽| 国产成人综合亚洲欧美94在线 | 久久精品91久久久久久再现 | 日韩免费在线视频 | 日本不卡视频在线播放 | 男插女下体视频 | 国产盗摄视频 | 久久伊人精品一区二区三区 | 国产精品久久久久一区二区三区 | 国产91在线 | 亚洲 | 日韩成人在线观看 | 日本成人免费网站 | 国产高清一区二区三区 | 精品欧美一区二区三区久久久 | 国产精品久久久久久久久久99 | 欧一区二区 | 亚洲精品国产第一综合99久久 | 亚洲有码转帖 | 在线看av网址 | 久久久久国产精品 | 欧美激情久久久 | 亚洲一区二区三区在线视频 | 久久国产一区 | 国产日韩精品一区 | 91精品国产综合久久精品 | 伊人久久在线观看 | 日韩伦理一区二区三区 | 日本久草视频 | 99综合 | 欧美一区二区三区在线看 | 国产成人精品一区二区三区四区 | 日韩高清中文字幕 | 日韩高清不卡 | 99精品在线 |