同一個類中多次聲明相同名字的方法,每次聲明時都是不同的參數(shù)列表。方法重載主要是為了實現(xiàn)同一個功能,而使用統(tǒng)一的方法處理不同的數(shù)據(jù)類型。它是多樣性在同一類中的一種表現(xiàn)。而且方法重載時,可以使用不同的作用域關(guān)鍵字比如使用public、或者使用friend。
成都創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比六安網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式六安網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋六安地區(qū)。費用合理售后完善,10多年實體公司更值得信賴。
方法重載必須滿足以下三點:
1、方法重載時需要加入關(guān)鍵字OVERLOADS
2、方法的名稱必須相同。
3、方法的參數(shù)必須不同,這里的不同分三種情況:
a、參數(shù)個數(shù)不同,類型無限制;
b、參數(shù)個數(shù)相同,但是參數(shù)類型不同;
c、參數(shù)個數(shù)和類型都相同,但是參數(shù)的順序不同
新建一個Winform,在和Form1平行的位置粘貼如下代碼
Public Class MyLabel Inherits Label Protected Overrides Sub OnPaint(e As PaintEventArgs) e.Graphics.DrawEllipse(New Pen(Color.Red), New Rectangle(2, 2, 10, 10)) MyBase.OnPaint(e) End Sub End Class
運行,停掉,在工具箱找到MyLabel,拖動就可以看到效果。這只是最基本的重寫,要模仿QQ還需要其他技術(shù)以及美工。
重構(gòu)是一種程序結(jié)構(gòu)上的改動,例如添加刪除方法、改變參數(shù)等。
重寫、重載則都是指面向?qū)ο笾械奶摵瘮?shù)的多態(tài)實現(xiàn)。
.NET2005編程環(huán)境中,有個菜單功能支持 C# 的重構(gòu)。而vb.net則需要手動
Private WithEvents NewTextBox As TextBox
'通過使用WithEvents關(guān)鍵字聲明一個對象變量為新的命令按鈕
Private Sub Command1_Click()
If NewTextBox Is Nothing Then
Set NewTextBox = Controls.Add("VB.TextBox", "cmdNew", Form1)
NewTextBox.Move 200, 200
NewTextBox.Width = Form1.Width - 450
NewTextBox.Height = Form1.Height - 1400
NewTextBox.Visible = True
End If
End Sub
Private Sub Command2_Click()
If NewTextBox Is Nothing Then
Exit Sub
Else
Controls.Remove NewTextBox
Set NewTextBox = Nothing
End If
End Sub
我們都知道,面向?qū)ο笳Z言的三大特征是:封裝、繼承和多態(tài)。而重寫和重載是多態(tài)的兩種表現(xiàn)形式。多態(tài),顧名思義,就是指多種形態(tài)。而重寫和重載正好體現(xiàn)了這一點?,F(xiàn)在我們以 VB.NET 語言來說明兩者的區(qū)別。
重寫是發(fā)生在父類與子類之間的關(guān)系。具體來講就是子類可以重寫父類的現(xiàn)有的方法。它要求子類的方法名稱及參數(shù)必須與父類完全一致。比如吃飯,父親可以吃兩碗面,孩子同樣也是吃面,卻只能吃一碗。
重載則主要是發(fā)生在同一個類當(dāng)中的,它通過多個名稱相同的方法,但方法參數(shù)不相同,或者方法返回類型不相同來加以區(qū)別。其中,方法參數(shù)不相同包括以下幾種情況:參數(shù)的個數(shù)不相同,參數(shù)的類型不相同,參數(shù)的對應(yīng)位置不相同。需要說明的是,重載同樣可以應(yīng)用到父類與子類當(dāng)中。即子類重載了父類的方法。
重寫:
在 VB.NET 中,重寫汲及到的關(guān)鍵字有:
OverRidable: 在父類中聲明的可以在子類中重寫的方法。
OverRides: 在子類中聲明的要重寫父親中可重寫的方法。
MustOverRide: 在父類中,表示這個方法必須在子類中重寫。此時,該類必須聲明為抽象類。
NotOverridable: 如果當(dāng)前類還有子類,那么,在其子類中,該方法不允許被重寫。
重載:
在 VB.NET 中,重載用到的關(guān)鍵是 OverLoads。
這里需要說明幾點:
1. 對于在同一類當(dāng)中,一組名稱相同的方法或函數(shù)重載時,可以加關(guān)鍵字 OverLoads 或者不加。但如果其中有一個方法加上,那同組其它方法也必須加該關(guān)鍵字。
2. 如果該方法是重載父類中的方法。那么必須加 OverLoads 關(guān)鍵字。
3. 如果兩個同名函數(shù)僅返回類型不相同,則它們不能重載,即必須在參數(shù)上有所不同。
當(dāng)前題目:vb.net重載控件 vb函數(shù)重載
地址分享:http://m.rwnh.cn/article42/hiepec.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、網(wǎng)站收錄、網(wǎng)站策劃、做網(wǎng)站、網(wǎng)站設(shè)計、建站公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)