Exportar (0) Imprimir
Expandir Tudo
Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original

Classes: Plantas de objetos

Classes são representações simbólicas de objetos; classes descrevem as propriedades, campos, métodos e eventos que forma objetos da mesma forma que plantas descrevem os itens que formam construções.Assim com uma planta pode ser usada para criar diversas construções, uma única classe pode ser usada para criar quantos objetos forem necessários.Assim como uma planta define quais partes da construção são acessíveis para pessoas que usam a construção, classes podem controlar o acesso de usuários a itens do objeto através de encapsulação.

Os termos classe e objeto são às vezes usados representando a mesma coisa, mas na verdade, classes descrevem a estrutura de objetos, enquanto objetos são instâncias úteis de classes.Cada instância é uma cópia exata ainda distinta da sua classe. Porque um objeto é uma instância de uma classe, o ato de criação de um objeto é chamado instanciação.Cada instância é uma cópia exata ainda distinta da sua classe. Porque um objeto é uma instância de uma classe, o ato de criação de um objeto é chamado instanciação.

Usando a analogia da planta, a classe é a planta, e o objeto é a construção feita daquela planta.Geralmente, a mudança de dados num objeto não muda as informações contidas em nenhum outro objeto.(A exceção são os membros compartilhados, membros de classe declarados com o modificador Shared, que existem independentemente de instâncias específicas da classe.)

Encapsulamento é a habilidade de conter e controlar o acesso a um grupo de itens associados.Classes fornecem um dos modos mais comuns de encapsular itens.No exemplo abaixo, a classe BankAccount encapsula os métodos, campos, e propriedade que descrevem a conta de banco.

Sem encapsulação, você declararia procedimentos separados e variável para armazenar e gerenciar informação da conta de banco, e isso tornaria difícil trabalhar com mais de uma conta ao mesmo tempo.Com encapsulamento você pode usar as informações e procedimentos na classe BankAccount como uma unidade.Você pode trabalhar com contas de banco múltiplas concomitantemente sem confusão pois cada conta é representada por uma instância única da classe.

Encapsulamento também permite controlar como a informação e procedimentos são usados.Você pode usar modificadores de acesso, como Private ou Protected, para prevenir procedimentos externos de executar métodos de classe ou ler e modificar dados em procedimentos e campos.Você deve declarar detalhes internos de uma classe como Private para prevenir que eles sejam usados fora da classe; essa técnica é chamada de esconder informações, e é como informações do cliente como o saldo da conta são protegidas.

Uma regra básica de encapsulamento é que os dados da classe só podem ser modificados ou recuperados por meio de procedimentos ou métodos Property.Escondendo os detalhes da implementação de suas classes evita que elas sejam usadas de forma não desejada, e permite que você modifique esses itens no futuro sem risco de problemas de compatibilidade.Por exemplo, versões posteriores da classe BankAccount poderiam mudar o tipo de dados do campo AccountBalance sem quebrar outras aplicações que dependem desse campo tendo um tipo específico de tipo de dados.

Como estruturas Visual Basic, você pode usar classes para definir tipos de dados que encapsulam um grupo de itens relacionados.Diferentemente de estruturas, no entanto, as classes do Visual Basic podem herdar e estender as características de outras classes.Essas classes servem como base para novas classes e são chamadas de base classes (classe derivada).Classes derivadas de base classes são chamadas de derived classes (classes derivadas). Derived classes herdam todos os campos, propriedades, métodos e eventos da base classe.Isso significa que você pode desenvolver e debugar uma classe por vez e depois reutiliza-la como base para outras classes.

O seguinte exemplo define uma classe base que representa uma conta bancária genérica, e uma classe específica que herda as propriedades da classe base mas é customizada para descrever uma conta corrente.

Class BankAccount
    Private AccountNumber As String
    Private AccountBalance As Decimal
    Private HoldOnAccount As Boolean = False
    Public Sub PostInterest()
        ' Add code to calculate the interest for this account.
    End Sub
    ReadOnly Property Balance() As Decimal
        Get
            ' Return the available balance.
            Return AccountBalance
        End Get
    End Property
End Class

Class CheckingAccount
    Inherits BankAccount
    Sub ProcessCheck()
        ' Add code to process a check drawn on this account.
    End Sub
End Class


Para obter mais informações sobre herança, consulte Noções básicas sobre de herança.

Por padrão, os dados da classe são específicos para cada instância da classe, mas pode haver ocasiões em que você queira que um único item de dados seja compartilhado por todos objetos criados de uma classe.Nesses casos, use o modificador Shared para fazer com que uma variável compartilhe o mesmo valor em todas instâncias de uma classe ( Membros Compartilhados são algumas vezes chamados de "Membros Estáticos" em outras linguagens de programação).Você pode chamar métodos compartilhados diretamente usando um nome de classe sem antes criar uma instância dessa classe.

Para obter mais informações sobre membros compartilhados, consulte Membros compartilhados no Visual Basic.

Classes derivadas podem usar a palavra chave Shadows para declarar um membro com o mesmo nome que um membro herdado.Membros sombreados não precisam ser do mesmo tipo de dados que o membro sendo sombreado.Por exemplo, uma propriedade pode sombrear uma variável do tipo Integer.

Para obter mais informações sobre membros compartilhados, consulte Sombreamento em Visual Basic.

Contribuições da comunidade

ADICIONAR
A Microsoft está realizando uma pesquisa online para saber sua opinião sobre o site do MSDN. Se você optar por participar, a pesquisa online lhe será apresentada quando você sair do site do MSDN.

Deseja participar?
Mostrar:
© 2015 Microsoft