Procedura dettagliata: definizione delle classi (Visual Basic)
Questa procedura dettagliata illustra come definire le classi, che è quindi possibile usare per creare oggetti. Viene inoltre illustrato come aggiungere proprietà e metodi alla nuova classe e come inizializzare un oggetto.
Nota
I nomi o i percorsi visualizzati per alcuni elementi dell'interfaccia utente di Visual Studio nelle istruzioni seguenti potrebbero essere diversi nel computer in uso. La versione di Visual Studio in uso e le impostazioni configurate determinano questi elementi. Per altre informazioni, vedere Personalizzazione dell'IDE.
Per definire una classe
Creare un progetto facendo clic su Nuovo progetto nel menu File. Verrà visualizzata la finestra di dialogo Nuovo progetto .
Selezionare Applicazione Windows dall'elenco dei modelli di progetto di Visual Basic per visualizzare il nuovo progetto.
Aggiungere una nuova classe al progetto facendo clic su Aggiungi classe nel menu Progetto. Verrà visualizzata la finestra di dialogo Aggiungi nuovo elemento .
Selezionare il modello Classe.
Assegnare alla nuova classe il nome
UserNameInfo.vb
e quindi fare clic su Aggiungi per visualizzare il codice per la nuova classe.Public Class UserNameInfo End Class
Nota
È possibile usare l'editor di codice di Visual Basic per aggiungere una classe al modulo di avvio digitando la parola chiave
Class
seguita dal nome della nuova classe. L'editor di codice fornisce un'istruzioneEnd Class
corrispondente.Definire un campo privato per la classe aggiungendo il codice seguente tra le istruzioni
Class
eEnd Class
:Private userNameValue As String
Se viene dichiarato come
Private
, il campo può essere usato solo all'interno della classe. È possibile rendere i campi disponibili dall'esterno di una classe usando modificatori di accesso, ad esempioPublic
, che offrono maggiore accesso. Per altre informazioni, vedere Livelli di accesso in Visual Basic.Definire una proprietà per la classe aggiungendo il codice seguente:
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
Definire un metodo per la classe aggiungendo il codice seguente:
Public Sub Capitalize() ' Capitalize the value of the property. userNameValue = UCase(userNameValue) End Sub
Definire un costruttore con parametri per la nuova classe aggiungendo una routine denominata
Sub New
:Public Sub New(ByVal UserName As String) ' Set the property value. Me.UserName = UserName End Sub
Il costruttore
Sub New
viene chiamato automaticamente quando viene creato un oggetto basato su questa classe. Questo costruttore imposta il valore del campo che contiene il nome utente.
Per creare un pulsante per testare la classe
Impostare il modulo di avvio sulla modalità di progettazione facendo clic sul nome con il pulsante destro del mouse in Esplora soluzioni e scegliendo Progettazione visualizzazioni. Per impostazione predefinita, il modulo di avvio per i progetti Applicazione Windows è denominato Form1.vb. Verrà quindi visualizzato il modulo principale.
Aggiungere un pulsante al modulo principale e fare doppio clic su di esso per visualizzare il codice per il gestore eventi
Button1_Click
. Aggiungere il codice seguente per chiamare la routine di test:' 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)
Per eseguire l'applicazione
Eseguire l'applicazione premendo F5. Fare clic sul pulsante nel modulo per chiamare la routine di test. Viene visualizzato un messaggio che indica che il valore originale dell'oggetto
UserName
è "MOORE, BOBBY", perché la routine ha chiamato il metodoCapitalize
dell'oggetto.Fare clic su OK per chiudere la finestra del messaggio. La routine
Button1 Click
modifica il valore della proprietàUserName
e visualizza un messaggio che informa che il nuovo valore diUserName
è "Worden, Joe".