Compartilhar via


Como: Converter código implementa um novo formulário de herança

Visual Basic 6.0 usa o Implements demonstrativo para herança da interface. Versões mais recentes de Visual Basic oferecem dois tipos de herança, usando o Implementa Declaração e o Declaração Inherits. Este tópico demonstra como converter código usando essas duas opções.

O seguinte código de Visual Basic 6.0 é considerado nesta página:

' 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

Para converter usando uma interface comum

  1. Executar o Upgrade Wizard.

    Observação:

    O Assistente de atualização é uma ferramenta usada para atualizar um aplicativo Visual Basic 6.0 para Visual Basic 2008. É iniciado automaticamente quando você abre um projeto Visual Basic 6.0 em Visual Basic 2008. Para obter mais informações, consulte Como: Atualizar um projeto com o Assistente de atualização do Visual Basic.

    O assistente converterá a Account classe a () uma interface_Account) e criará duas classes que implementam o (interfaceAccount 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
    
  2. O código para criar e usar uma instância do Savings conta poderia ter esta aparência.

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

Se você desejar Account para ser a classe base, você pode modificar a saída do assistente.

Para converter utilizando interfaces e Implements

  1. Executar o Upgrade Wizard.

  2. Excluir o Account classe.

  3. Renomear o _Account classe a Account.

  4. No Savings classe, substitua _Account com 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. O código para criar e usar uma instância de conta Savings pode parecer com o seguinte.

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

Se você desejar que o Account classe seja uma classe base, você pode modificar a saída do assistente.

Para converter utilizando Classe e Herança

  1. Executar o Upgrade Wizard.

  2. Excluir o _Account interface.

  3. No Account classe, remova referências para o _Account em Implements instruções.

    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. No Savings classe, substitua Implements _Account com Inherits Account.

  5. No Savings classe, remova o Owner e Deposit membros.

    Friend Class Savings
        Inherits Account
    
        Public Function AddInterest() As Object
        End Function
    End Class
    
  6. O código para criar e usar uma instância do Savings conta poderia ter esta aparência.

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

Consulte também

Tarefas

Como: Atualizar um projeto com o Assistente de atualização do Visual Basic

Referência

Declaração Class (Visual Basic)

Declaração Inherits

Declaração Interface (Visual Basic)

Implementa Declaração

Outros recursos

A herança no Visual Basic

Interfaces em Visual Basic