Condividi tramite


Aggiunta di metodi a una classe

Aggiornamento: novembre 2007

In questa lezione verrà descritto come aggiungere metodi a una classe per consentire l'esecuzione di azioni.

In una lezione precedente, Informazioni dettagliate: proprietà, metodi ed eventi, si è appreso che la maggior parte degli oggetti dispone di azioni o metodi che è in grado eseguire. La classe Persons creata durante la lezione Modelli di oggetti reali: creazione di una classe rappresenta una persona. Una persona può eseguire numerose azioni. Per la classe Persons tali azioni possono essere espresse sotto forma di metodi di classe.

Metodi di classe

I metodi di una classe non sono altro che le routine Sub o Function dichiarate nella classe. Ad esempio, una classe Account può contenere una routine Sub denominata Recalculate che aggiorna il saldo oppure una routine di tipo Function denominata CurrentBalance che restituisce il saldo aggiornato. Il codice per la dichiarazione di questi metodi potrebbe essere simile al seguente:

Public Sub Recalculate()
    ' add code to recalculate the account.
End Sub
Public Function CurrentBalance(ByVal AccountNumber As Integer) As Double
    ' add code to return a balance.
End Function

Nonostante la maggior parte dei metodi di classe sia pubblica, può essere necessario aggiungere metodi utilizzabili solo dalla classe stessa. Ad esempio, la classe Persons potrebbe disporre di una funzione per il calcolo dell'età di una persona. Se si dichiara la funzione come Private, non può essere visualizzata o chiamata all'esterno della classe.

Il codice per una funzione privata potrebbe essere simile al seguente:

Private Function CalcAge(ByVal year As Integer) As Integer
    CalcAge = My.Computer.Clock.LocalTime.Year - year
End Function

È successivamente possibile modificare il codice che calcola il valore di CalcAge. In tal caso, il funzionamento del metodo non verrà compromesso, anche se il codice che lo utilizza non viene alterato. L'operazione di mascheramento del codice che esegue il metodo viene definita incapsulamento.

Nella classe Persons verranno creati un metodo pubblico che restituisce un nome completo e una funzione privata che calcola l'età.

Procedura

Per aggiungere un metodo alla classe

  1. Aprire il progetto Persons creato nella lezione precedente. Se il progetto non è stato salvato, sarà necessario tornare prima alla lezione precedente Aggiunta di proprietà 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 le routine della proprietà.

    Public Function FullName() As String
        If middleNameValue <> "" Then
            FullName = firstNameValue & " " & middleNameValue & " " _
                                      & lastNameValue
        Else
            FullName = firstNameValue & " " & lastNameValue
        End If
    End Function
    
    Private Function CalcAge(ByVal year As Integer) As Integer
        CalcAge = My.Computer.Clock.LocalTime.Year - year
    End Function
    
  4. Modificare il codice nella routine della proprietà Age in modo da utilizzare la funzione privata.

    ReadOnly Property Age() As String
        Get
            ' Age = My.Computer.Clock.LocalTime.Year - birthDateValue
            Age = CalcAge(birthYearValue)
        End Get
    End Property
    
  5. Scegliere Salva tutto dal menu File per salvare il lavoro.

Passaggi successivi

In questa lezione è stato descritto come aggiungere metodi sia pubblici che privati a una classe. È possibile ottenere ulteriori informazioni sui metodi in Informazioni dettagliate: creazione di più versioni dello stesso metodo con overload oppure è possibile passare alla lezione successiva, in cui viene descritto come aggiungere eventi alla classe.

Lezione successiva: Aggiunta di eventi a una classe

Vedere anche

Attività

Aggiunta di proprietà a una classe

Altre risorse

Programmazione a oggetti: utilizzo di classi