Genomgång: Definiera klasser (Visual Basic)
Den här genomgången visar hur du definierar klasser, som du sedan kan använda för att skapa objekt. Den visar också hur du lägger till egenskaper och metoder i den nya klassen och visar hur du initierar ett objekt.
Kommentar
Datorn kan visa olika namn eller platser för vissa av Visual Studio-användargränssnittselementen i följande instruktioner. Den Visual Studio-utgåva som du har och de inställningar som du använder avgör dessa element. Mer information finns i Anpassa IDE.
Så här definierar du en klass
Skapa ett projekt genom att klicka på Nytt projekt på Arkiv-menyn . Dialogrutan Nytt projekt visas.
Välj Windows-program i listan över Visual Basic-projektmallar för att visa det nya projektet.
Lägg till en ny klass i projektet genom att klicka på Lägg till klass på Projekt-menyn . Dialogrutan Lägg till nytt objekt visas.
Välj mallen Klass .
Ge den nya klassen
UserNameInfo.vb
namnet och klicka sedan på Lägg till för att visa koden för den nya klassen.Public Class UserNameInfo End Class
Kommentar
Du kan använda Visual Basic Code Editor för att lägga till en klass i startformuläret genom att skriva nyckelordet
Class
följt av namnet på den nya klassen. Kodredigeraren innehåller en motsvarandeEnd Class
instruktion åt dig.Definiera ett privat fält för klassen genom att lägga till följande kod mellan - och-uttrycken
Class
End Class
:Private userNameValue As String
Att deklarera fältet som
Private
innebär att det endast kan användas i klassen. Du kan göra fält tillgängliga utanför en klass med hjälp av åtkomstmodifierare somPublic
ger mer åtkomst. Mer information finns i Åtkomstnivåer i Visual Basic.Definiera en egenskap för klassen genom att lägga till följande kod:
Public Property UserName() As String Get ' Gets the property value. Return userNameValue End Get Set(ByVal Value As String) ' Sets the property value. userNameValue = Value End Set End Property
Definiera en metod för klassen genom att lägga till följande kod:
Public Sub Capitalize() ' Capitalize the value of the property. userNameValue = UCase(userNameValue) End Sub
Definiera en parameteriserad konstruktor för den nya klassen genom att lägga till en procedur med namnet
Sub New
:Public Sub New(ByVal UserName As String) ' Set the property value. Me.UserName = UserName End Sub
Konstruktorn
Sub New
anropas automatiskt när ett objekt baserat på den här klassen skapas. Den här konstruktorn anger värdet för det fält som innehåller användarnamnet.
Så här skapar du en knapp för att testa klassen
Ändra startformuläret till designläge genom att högerklicka på namnet i Solution Explorer och sedan klicka på Visa designer. Startformuläret för Windows-programprojekt heter som standard Form1.vb. Huvudformuläret visas sedan.
Lägg till en knapp i huvudformuläret och dubbelklicka på den för att visa koden för
Button1_Click
händelsehanteraren. Lägg till följande kod för att anropa testproceduren:' Create an instance of the class. Dim user As New UserNameInfo("Moore, Bobby") ' Capitalize the value of the property. user.Capitalize() ' Display the value of the property. MsgBox("The original UserName is: " & user.UserName) ' Change the value of the property. user.UserName = "Worden, Joe" ' Redisplay the value of the property. MsgBox("The new UserName is: " & user.UserName)
Så här kör du programmet
Kör programmet genom att trycka på F5. Klicka på knappen i formuläret för att anropa testproceduren. Det visar ett meddelande om att originalet
UserName
är "MOORE, BOBBY", eftersom proceduren kallasCapitalize
-metoden för objektet.Klicka på OK för att stänga meddelanderutan. Proceduren
Button1 Click
ändrar värdet förUserName
egenskapen och visar ett meddelande om att det nya värdetUserName
för är "Worden, Joe".