Declaração Class (Visual Basic)
Declara o nome de uma classe e introduz a definição de variáveis, propriedades, eventos e procedimentos que compreende a classe.
[ <attributelist> ] [ accessmodifier ] [ Shadows ] [ MustInherit | NotInheritable ] [ Partial ] _
Class name [ ( Of typelist ) ]
[ Inherits classname ]
[ Implements interfacenames ]
[ statements ]
End Class
Partes
attributelist
Opcional.Veja Lista de Atributos.accessmodifier
Opcional.Pode ser um dos seguintes:Shadows
Opcional.Acesse Shadows.MustInherit
Opcional.SeeMustInherit.NotInheritable
Opcional.SeeNotInheritable.Partial
Opcional.Indica uma definição da classe parcial.SeePartial (Visual Basic).name
Obrigatório.Nome desta classe.SeeNomes de Elementos Declarados.Of
Opcional.Especifica que esta é uma classe genérica.typelist
Necessário se você usar a palavra-chave Of.Lista de parâmetros de tipo para esta classe.Consulte Type List.Inherits
Opcional.Indica que esta classe herda os membros de outra classe.SeeDeclaração Inherits.classname
Necessário se você usar a declaração Inherits.O nome da classe a partr da qual essa classe deriva.Implements
Opcional.Indica que essa classe implementa os membros de uma ou mais interfaces.SeeImplementa Declaração.interfacenames
Necessário se você usar a declaração Implements.Os nomes das interfaces que essa classe implementa.statements
Opcional.Instruções que definem os membros dessa classe.End Class
Obrigatório.Finaliza a definição Class.
Comentários
A Class demonstrativo define um novo tipo de dados. A classe é um bloco de construção fundamental da programação orientada a objeto (OOP).Para obter mais informações, consulte Programação orientada a objetos no Visual Basic e Classes: Especificações técnicas para objetos.
Você pode usar Class somente em nível de namespace ou módulo.Isso significa que o declaração de contexto para uma classe deve ser um arquivo de fonte, namespace, classe, estrutura, módulo ou interface e não pode ser um procedimento ou bloco.Para obter mais informações, consulte Declaração de contextos e níveis de acesso padrão.
Cada instância de uma classe tem uma vida útil independente de todos os Outros instâncias.Esse tempo de vida começa quando ela é criada por um Novo (Visual Basic) cláusula ou por uma função sistema autônomo CreateObject função (Visual Basic). Ele termina quando todas as variáveis apontando para a instância tem sido definidas a Nada (Visual Basic) ou instâncias de outras classes.
Padrão de classes para Amigo (Visual Basic) acesso. Você pode ajustar os níveis de acesso com os modificadores de acesso.Para obter mais informações, consulte Níveis de acesso em Visual Basic.
Regras
Aninhamento. Você pode definir uma classe em outra.A classe externa é chamada de que contém a classee a classe interna é chamado um classe aninhada.
Herança Se a classe usa o Declaração Inherits, você pode especificar somente uma classe base ou interface. Uma classe não pode herdar de mais de um elemento.
Uma classe não pode herdar de outra classe com um nível de acesso mais restritivo.Por exemplo, um Public classe não pode herdar de um Friend classe.
Uma classe não pode herdar de um classe que esteja aninhada nela.
Implementação Se a classe usa o Implementa Declaração, você deve implementar todos os membros definidos por cada interface que você especificar na interfacenames. Uma exceção a isso é Reimplementação de um membro da classe base.Para obter mais informações, consulte "Reimplementação"Implements (Visual Basic).
Propriedade Padrão Uma classe pode especificar no máximo uma propriedade sistema autônomo a propriedade padrão.Para obter mais informações, consulte Propriedades Padrão.
Comportamento
Nível de Acesso Dentro de uma classe, você pode declarar cada membro com seu próprio nível de acesso.Classe padrão, membros Público (Visual Basic) acessar, exceto as variáveis e constantes, padrão para Private (Visual Basic) acesso. Quando uma classe tem mais acesso restrito de um de seus membros, o nível de acesso de classe terá precedência.
Escopo. Uma classe está no escopo em toda sua contendo namespace, classe, estrutura ou módulo.
O escopo de cada membro da classe é toda a turma.
Tempo de vida. Visual Basic não oferece suporte a estático classes.O equivalente funcional de uma classe estática é fornecido por um módulo.Para obter mais informações, consulte Declaração de Módulo.
Membros da classe têm vidas úteis dependendo de como e onde elas são declaradas.Para obter mais informações, consulte Tempo de vida no Visual Basic.
Qualificação Código fora de uma classe deve qualificar o nome do membro com o nome dessa classe.
Se código dentro de uma classe aninhada faz uma referência não qualificada a um elemento de programação, Visual Basic procura o elemento primeiro na classe aninhada, em seguida, na sua classe, e assim por diante check-out para o elemento que contém mais externo.Para obter mais informações, consulte Resolvendo uma Referência Quando Várias Variáveis Têm o Mesmo Nome.
Classes e Módulos
Esses elementos têm várias semelhanças, mas há algumas diferenças importantes também.
Terminologia Versões anteriores do Visual Basic reconhecem dois tipos de módulos: módulos de classe (CLS arquivos) e módulos padrão (.bas arquivos).A versão atual os chama de classes e módulos , respectivamente.
Membros Compartilhados Você pode controlar se um membro de uma classe é um membro compartilhado ou de instância.
Orientação a Objeto Classes são orientadas a objeto, mas módulos não são.Você pode criar uma ou mais instâncias de uma classe.Para obter mais informações, consulte Classes versus módulos.
Exemplo
O exemplo a seguir utiliza um Class demonstrativo para definir uma classe e vários membros.
Class bankAccount
Shared interestRate As Decimal
Private accountNumber As String
Private accountBalance As Decimal
Public holdOnAccount As Boolean = False
Public ReadOnly Property balance() As Decimal
Get
Return accountBalance
End Get
End Property
Public Sub postInterest()
accountBalance = accountBalance * (1 + interestRate)
End Sub
Public Sub postDeposit(ByVal amountIn As Decimal)
accountBalance = accountBalance + amountIn
End Sub
Public Sub postWithdrawal(ByVal amountOut As Decimal)
accountBalance = accountBalance - amountOut
End Sub
End Class
Consulte também
Tarefas
Como: Usar uma classe genérica
Conceitos
Como objetos são criados e destruídos Outros recursos
Tipos genéricos no Visual Basic
Referência
Declaração Interface (Visual Basic)