Procedura: convertire il codice di Implements in una nuova forma di ereditarietà
Aggiornamento: novembre 2007
In Visual Basic 6.0 per l'ereditarietà di interfaccia si utilizza l'istruzione Implements. Nelle versioni più recenti di Visual Basic sono disponibili due tipi di ereditarietà, mediante l'Istruzione Implements e l'Istruzione Inherits. In questo argomento si descrive come convertire un codice mediante queste due opzioni.
Si osservi il codice Visual Basic 6.0 riportato di seguito in questa pagina:
' Account class.
Private mvarBalance As Currency
Private mvarOwner As String
Public Property Let Owner(ByVal vData As String)
mvarOwner = vData
End Property
Public Property Get Owner() As String
Owner = mvarOwner
End Property
Public Function Deposit(ByVal amount As Currency) As Currency
End Function
' Savings class.
Private mvarBalance As Currency
Private mvarOwner As String 'local copy
Public Property Let Owner(ByVal vData As String)
mvarOwner = vData
End Property
Public Property Get Owner() As String
Owner = mvarOwner
End Property
Public Function Deposit(ByVal amount As Currency) As Currency
End Function
Per eseguire la conversione mediante un'interfaccia comune
Eseguire l'Aggiornamento guidato.
Nota: L'Aggiornamento guidato è uno strumento utilizzato per l'aggiornamento di un'applicazione Visual Basic 6.0 a Visual Basic 2008. Viene avviato automaticamente all'apertura di un progetto di Visual Basic 6.0 in Visual Basic 2008. Per ulteriori informazioni, vedere Procedura: aggiornare un progetto utilizzando l'Aggiornamento guidato Visual Basic.
La procedura guidata eseguirà la conversione della classe Account in un'interfaccia (_Account) e creerà due classi che implementano tale interfaccia (Account e Savings).
Interface _Account Property Owner() As String Function Deposit(ByVal amount As Decimal) As Decimal End Interface Friend Class Account Implements _Account Private mvarBalance As Decimal Private mvarOwner As String Public Property Owner() As String Implements _Account.Owner Get Owner = mvarOwner End Get Set(ByVal Value As String) mvarOwner = Value End Set End Property Public Function Deposit(ByVal amount As Decimal) _ As Decimal Implements _Account.Deposit End Function End Class Friend Class Savings Implements _Account Private Function Account_Deposit(ByVal amount As Decimal) _ As Decimal Implements _Account.Deposit End Function Private Property Account_Owner() As String _ Implements _Account.Owner Get End Get Set(ByVal Value As String) End Set End Property Public Function AddInterest() As Object End Function End Class
Il codice per creare e utilizzare un'istanza della classe Savings potrebbe essere analogo a quello riportato di seguito.
Dim savings As _Account savings = New Savings savings.Owner = "Jeff Pike"
Se si desidera che Account sia la classe base, modificare l'output della procedura guidata.
Per eseguire la conversione mediante le istruzioni Interface e Implements
Eseguire l'Aggiornamento guidato.
Eliminare la classe Account.
Rinominare la classe _Account in Account.
Nella classe Savings, sostituire _Account con Account.
Friend Class Savings Implements Account Private Function Account_Deposit(ByVal amount As Decimal) _ As Decimal Implements Account.Deposit End Function Private Property Account_Owner() As String Implements Account.Owner Get End Get Set(ByVal Value As String) End Set End Property Public Function AddInterest() As Object End Function End Class
Il codice per creare e utilizzare un'istanza della classe Savings potrebbe essere analogo a quello riportato di seguito.
Dim savings As Account savings = New Savings savings.Owner = "Jeff Pike"
Se si desidera che Account sia una classe base, modificare l'output della procedura guidata.
Per eseguire la conversione mediante le istruzioni Class e Inherits
Eseguire l'Aggiornamento guidato.
Eliminare l'interfaccia _Account.
Nella classe Account, rimuovere i riferimenti a _Account nelle istruzioni Implements.
Friend Class Account Private mvarBalance As Decimal Private mvarOwner As String Public Property Owner() As String Get Owner = mvarOwner End Get Set(ByVal Value As String) mvarOwner = Value End Set End Property Public Function Deposit(ByVal amount As Decimal) As Decimal End Function End Class
Nella classe Savings, sostituire Implements _Account con Inherits Account.
Nella classe Savings, rimuovere i membri Owner e Deposit.
Friend Class Savings Inherits Account Public Function AddInterest() As Object End Function End Class
Il codice per creare e utilizzare un'istanza della classe Savings potrebbe essere analogo a quello riportato di seguito.
Dim savings As Account savings = New Savings savings.Owner = "Jeff Pike"
Vedere anche
Attività
Procedura: aggiornare un progetto utilizzando l'Aggiornamento guidato Visual Basic
Riferimenti
Istruzione Class (Visual Basic)
Istruzione Interface (Visual Basic)