Практическое руководство. Преобразование кода оператора 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

Преобразование с использованием общего интерфейса

  1. Запустите Мастер обновления.

    yww5xka6.alert_note(ru-ru,VS.90).gifПримечание.

    Мастер обновления — это средство, используемое для обновления приложений 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
    
  2. Код для создания и использования экземпляра учетной записи Savings может выглядеть следующим образом:

    Dim savings As _Account
    savings = New Savings
    savings.Owner = "Jeff Pike"
    

Если необходимо, чтобы класс Account являлся базовым, можно изменить выходные данные мастера.

Преобразование с помощью операторов Interface и Implements

  1. Запустите Мастер обновления.

  2. Удалите класс Account.

  3. Переименуйте класс _Account в Account.

  4. В классе 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
    
  5. Код для создания и использования учетной записи Savings может выглядеть следующим образом:

    Dim savings As Account
    savings = New Savings
    savings.Owner = "Jeff Pike"
    

Если необходимо, чтобы класс Account являлся базовым, можно изменить выходные данные мастера.

Преобразование с помощью операторов Class и Inherits

  1. Запустите Мастер обновления.

  2. Удалите интерфейс _Account.

  3. В классе 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
    
  4. В классе Savings замените Implements _Account на Inherits Account.

  5. В классе Savings удалите члены Owner и Deposit.

    Friend Class Savings
        Inherits Account
    
        Public Function AddInterest() As Object
        End Function
    End Class
    
  6. Код для создания и использования экземпляра учетной записи Savings может выглядеть следующим образом:

    Dim savings As Account
    savings = New Savings
    savings.Owner = "Jeff Pike"
    

См. также

Задачи

Практическое руководство. Обновление проекта с помощью мастера обновления Visual Basic

Ссылки

Оператор Class (Visual Basic)

Инструкция Inherits

Оператор Interface (Visual Basic)

Оператор Implements

Другие ресурсы

Наследование в Visual Basic

Интерфейсы в Visual Basic