Практическое руководство. Преобразование кода оператора Implements в новую форму наследования
Обновлен: Ноябрь 2007
Для наследования интерфейсов в Visual Basic 6.0 используется оператор Implements. В более поздних версиях Visual Basic предлагается два типа наследования: с использованием Оператор Implements и Инструкция Inherits. В этом разделе демонстрируется способ преобразования кода с использованием этих параметров.
На этой странице рассматривается следующий фрагмент кода 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 6.0 в Visual Basic 2008. Дополнительные сведения см. в разделе Практическое руководство. Обновление проекта с помощью мастера обновления Visual Basic.
Мастер преобразовывает класс Account в интерфейс (_Account) и создает два класса, реализующих интерфейс (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 удалите ссылки на _Account в операторах 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
В классе 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)