Informazioni dettagliate: creazione di più versioni dello stesso metodo con overload
Aggiornamento: novembre 2007
In questa lezione verrà descritto come aggiungere più versioni di un metodo a una classe.
Nella lezione precedente è stato descritto come aggiungere metodi alla classe Persons. In alcuni casi non è sufficiente utilizzare un singolo metodo: ad esempio, potrebbe essere necessario passare al metodo tipi di dati diversi in base alla situazione oppure restituire risultati con formati diversi.
È possibile creare più versioni di un metodo utilizzando una tecnica denominata overload. Quando una classe dispone di più metodi che hanno lo stesso nome ma un insieme diverso di argomenti, il metodo viene sottoposto a overload.
Overload
Per creare un metodo di overload, aggiungere alla classe due o più routine di tipo Sub o Function con lo stesso nome. L'insieme di argomenti specificato nelle dichiarazioni delle varie routine deve essere diverso, altrimenti si verificherà un errore.
Nell'esempio riportato di seguito viene illustrato un metodo con due overload: uno accetta un valore String e l'altro accetta un valore Integer come argomento.
Public Sub TestFunction(ByVal input As String)
MsgBox(input)
End Sub
Public Sub TestFunction(ByVal input As Integer)
MsgBox(CStr(input))
End Sub
Se si chiama questo metodo dal codice passando una stringa, verrà eseguito il primo overload e la stringa verrà visualizzata in una finestra di messaggio. Se si passa un numero, verrà eseguito il secondo overload e il numero verrà convertito in una stringa, che sarà quindi visualizzata nella finestra di messaggio.
È possibile creare un qualsiasi numero di overload e ogni overload può contenere un numero diverso di argomenti.
Nella classe Persons verrà aggiunto un metodo con due overload per restituire l'iniziale del secondo nome di una persona: un overload consente di visualizzare solo l'iniziale, mentre l'altro aggiunge un punto dopo l'iniziale.
Procedura
Per creare un metodo sottoposto a overload
Aprire il progetto Persons creato nella lezione precedente. Se questo progetto non è stato salvato, tornare alla lezione precedente Aggiunta di metodi a una classe e completare le procedure indicate.
In Esplora soluzioni selezionare Persons.vb, quindi scegliere Codice dal menu Visualizza.
Aggiungere il codice riportato di seguito sotto i metodi esistenti.
Public Function MiddleInitial() As String MiddleInitial = Left$(middleNameValue, 1) End Function Public Function MiddleInitial(ByVal period As Boolean) As String MiddleInitial = Left$(middleNameValue, 1) & "." End Function
Per salvare il lavoro, scegliere Salva tutto dal menu File.
Passaggi successivi
In questa lezione è stato descritto come creare un metodo sottoposto a overload. Nella lezione successiva verrà descritto come aggiungere eventi a una classe.
Lezione successiva: Aggiunta di eventi a una classe
Vedere anche
Attività
Aggiunta di metodi a una classe
Concetti
Considerazioni sull'overload di routine