Share via


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:

    SeeNíveis de acesso em Visual Basic.

  • 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

Estruturas e Classes

Como objetos são criados e destruídos Outros recursos

Tipos genéricos no Visual Basic

Referência

Declaração Interface (Visual Basic)

Declaração de Módulo

Propriedade declaração

Outros recursos

Noções básicas sobre classes