方法 : Implements コードを新しい形式の継承に変換する
更新 : 2007 年 11 月
Visual Basic 6.0 では、Implements ステートメントをインターフェイスの継承に使用します。新しいバージョンの Visual Basic には、Implements ステートメント を使用する継承と Inherits ステートメント を使用する継承の 2 種類が用意されています。ここでは、このような 2 つのオプションを使用するコードを変換する方法を示します。
以下の Visual Basic 6.0 コードがこのページにあるとします。
' 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
共通のインターフェイスを使用して変換するには
アップグレード ウィザードを実行します。
メモ : アップグレード ウィザードは、Visual Basic 6.0 アプリケーションを Visual Basic 2008 にアップグレードするためのツールです。Visual Basic 2008 で Visual Basic 6.0 プロジェクトを開くと、このウィザードが自動的に起動します。詳細については、「方法 : Visual Basic アップグレード ウィザードを使ってプロジェクトをアップグレードする」を参照してください。
ウィザードでは、Account クラスがインターフェイス (_Account) に変換され、このインターフェイスを実装するクラスが 2 つ (Account および 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
Savings アカウントのインスタンスを作成し、使用するコードは、次のようになります。
Dim savings As _Account savings = New Savings savings.Owner = "Jeff Pike"
Account を基本クラスにする必要がある場合は、ウィザードで作成されるコードを変更できます。
Interface および Implements を使用して変換するには
アップグレード ウィザードを実行します。
Account クラスを削除します。
_Account クラスの名前を Account に変更します。
Savings クラスで、_Account を 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
Savings アカウントのインスタンスを作成し、使用するコードは、次のようになります。
Dim savings As Account savings = New Savings savings.Owner = "Jeff Pike"
Account を基本クラスにする必要がある場合は、ウィザードで作成されるコードを変更できます。
Class および Inherits を使用して変換するには
アップグレード ウィザードを実行します。
_Account インターフェイスを削除します。
Account クラスで、Implements ステートメント内の _Account への参照を削除します。
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
Savings クラスで、Implements _Account を Inherits Account に置き換えます。
Savings クラスで、Owner メンバと Deposit メンバを削除します。
Friend Class Savings Inherits Account Public Function AddInterest() As Object End Function End Class
Savings アカウントのインスタンスを作成し、使用するコードは、次のようになります。
Dim savings As Account savings = New Savings savings.Owner = "Jeff Pike"
参照
処理手順
方法 : Visual Basic アップグレード ウィザードを使ってプロジェクトをアップグレードする
参照
Interface ステートメント (Visual Basic)