是這樣的,VB.NET用的是.NET FRAMEWORK的類庫,所以,在實(shí)例化一個(gè)對象的時(shí)候,要用NEW,因?yàn)榭蚣艿讓佣际穷?。?shí)例化之后,才能使用。你把一個(gè)form窗體new了,分配了空間到托管堆上,然后才能show方法把窗體展示出來 沒有new的,有兩種,一個(gè)是靜態(tài)類,一個(gè)是元數(shù)據(jù)類型。
創(chuàng)新互聯(lián)主要從事成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)閬中,十年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):028-86922220
VB.NET中的Default關(guān)鍵字是用來聲明類的默認(rèn)屬性的 默認(rèn)屬性可以直接使用“對象名(參數(shù))”的形式來調(diào)用 而不用寫出屬性名
舉個(gè)例子:
'先聲明1個(gè)類
Public Class myclass
Dim a1 As Integer=1
Dim a2 As Integer=2
Default Public Property geta(ByVal x As Integer) As Integer
Get
If x=1 Then Return a1 Else Return a2
Set(ByVal value As Integer)
If x=1 Then a1=value Else a2=value
End Property
End Class
'這里的geta就是默認(rèn)屬性,后邊在主函數(shù)里調(diào)用它
Public Class test
Shared Sub Main()
Dim obj As myclass=New myclass()
Console.WriteLine("{0} {1}",obj(1),obj(2))
End Sub
End Class
最后輸出結(jié)果為:1 2
也就是說可以直接使用obj(1)這樣的格式 而不用使用obj.geta(1)這樣的格式了
注意 默認(rèn)屬性必須至少帶有1個(gè)參數(shù)
我們都知道,面向?qū)ο笳Z言的三大特征是:封裝、繼承和多態(tài)。而重寫和重載是多態(tài)的兩種表現(xiàn)形式。多態(tài),顧名思義,就是指多種形態(tài)。而重寫和重載正好體現(xiàn)了這一點(diǎn)?,F(xiàn)在我們以 VB.NET 語言來說明兩者的區(qū)別。
重寫是發(fā)生在父類與子類之間的關(guān)系。具體來講就是子類可以重寫父類的現(xiàn)有的方法。它要求子類的方法名稱及參數(shù)必須與父類完全一致。比如吃飯,父親可以吃兩碗面,孩子同樣也是吃面,卻只能吃一碗。
重載則主要是發(fā)生在同一個(gè)類當(dāng)中的,它通過多個(gè)名稱相同的方法,但方法參數(shù)不相同,或者方法返回類型不相同來加以區(qū)別。其中,方法參數(shù)不相同包括以下幾種情況:參數(shù)的個(gè)數(shù)不相同,參數(shù)的類型不相同,參數(shù)的對應(yīng)位置不相同。需要說明的是,重載同樣可以應(yīng)用到父類與子類當(dāng)中。即子類重載了父類的方法。
重寫:
在 VB.NET 中,重寫汲及到的關(guān)鍵字有:
OverRidable: 在父類中聲明的可以在子類中重寫的方法。
OverRides: 在子類中聲明的要重寫父親中可重寫的方法。
MustOverRide: 在父類中,表示這個(gè)方法必須在子類中重寫。此時(shí),該類必須聲明為抽象類。
NotOverridable: 如果當(dāng)前類還有子類,那么,在其子類中,該方法不允許被重寫。
重載:
在 VB.NET 中,重載用到的關(guān)鍵是 OverLoads。
這里需要說明幾點(diǎn):
1. 對于在同一類當(dāng)中,一組名稱相同的方法或函數(shù)重載時(shí),可以加關(guān)鍵字 OverLoads 或者不加。但如果其中有一個(gè)方法加上,那同組其它方法也必須加該關(guān)鍵字。
2. 如果該方法是重載父類中的方法。那么必須加 OverLoads 關(guān)鍵字。
3. 如果兩個(gè)同名函數(shù)僅返回類型不相同,則它們不能重載,即必須在參數(shù)上有所不同。
是關(guān)鍵字。比如:SUB代表一個(gè)函數(shù)的開始,END SUB代表函數(shù)結(jié)束,函數(shù)主體語句就必須寫在這兩個(gè)關(guān)鍵字之間。CLASS類關(guān)鍵字,PRIVATE私有關(guān)鍵字,PUBLIC公用關(guān)鍵字,IF.....END IF是判斷關(guān)鍵字,等等。建議找本基礎(chǔ)書看一看。
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If TextBox1.Text.IndexOf("你好") = 0 Then
TextBox1.Text = ""
End If
End Sub
窗體上添加一個(gè)文本框,一個(gè)列表框,一個(gè)按鈕:
代碼如下:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim MyDir As String = "C:\123"
Dim MyFilter As String = "*" TextBox1.Text "*"
ListBox1.Items.Clear()
For Each MyFile As String In System.IO.Directory.GetFiles(MyDir, MyFilter)
ListBox1.Items.Add(MyFile)
Next
End Sub