Condividi tramite


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

  1. 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.

  2. In Esplora soluzioni selezionare Persons.vb, quindi scegliere Codice dal menu Visualizza.

  3. 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
    
  4. 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

Altre risorse

Programmazione a oggetti: utilizzo di classi

Presentazione guidata di Visual Basic