Declaração Class (Visual Basic)
Declara o nome de uma classe e introduz a definição de variáveis, propriedades, eventos e procedimentos que a classe compreende.
[ <attributelist> ] [ accessmodifier ] [ Shadows ] [ MustInherit | NotInheritable ] [ Partial ] _
Class name [ ( Of typelist ) ]
[ Inherits classname ]
[ Implements interfacenames ]
[ statements ]
End Class
Parts
Term |
Definition |
attributelist |
Optional. See Attribute List. |
accessmodifier |
Optional. Can be one of the following: |
Shadows |
Optional. See Shadows. |
MustInherit |
Optional. See MustInherit (Visual Basic). |
NotInheritable |
Optional. See NotInheritable (Visual Basic). |
Partial |
Optional. Indica uma definição parcial da classe. See Partial (Visual Basic). |
name |
Required. ONome dessa classe. See Nomes de elementos declarados (Visual Basic). |
Of |
Optional. Especifica que esta é uma classede genérica. |
typelist |
Required if you use the Of keyword. Lista de parâmetros de tipo para esta classe. See Type List. |
Inherits |
Optional. Indica que esta classe herda os membros de outra classe. See Declaração Inherits. |
classname |
Required if you use the Inherits statement. The name of the class from which this class derives. |
Implements |
Optional. Indica que essa classe implementa os membros de uma ou mais interfaces. See Implementa Declaração. |
interfacenames |
Required if you use the Implements statement. Os nomes das interfaces em que essa classe implementa. |
statements |
Optional. Instruções que definem os membros dessa classe. |
End Class |
Required. Terminates the Class definition. |
Comentários
A Classdedemonstrativo define um novo tipo de dados. A classe é um componente fundamental do objeto-oriented programming (OOP). For more information, see Objetos e Classes no Visual Basic.
You can use Class only at namespace or module level. Isso significa que o dedeclaraçãocontexto para uma classe deve ser um arquivo de fonte , namespace, classe, estrutura, móduloou interfacee não pode ser um procedimento ou bloco. For more information, see Contextos de declaração e níveis de acesso padrão (Visual Basic).
Cada instância de uma classe tem uma tempo de vida independente de todas as outras instâncias. Esse tempo de vida começa quando ele é criado por um operador New (Visual Basic) cláusula ou por uma função , como CreateObject. Ela termina quando apontando para a instância de todas as variáveis foram definidas para Nada (Visual Basic) ou instâncias de outras classes.
Classes padrão para Friend (Visual Basic) de acesso. You can adjust their access levels with the access modifiers. For more information, see Níveis de acesso em Visual Basic.
Rules
Aninhamento. Você pode definir uma classe dentro de outro. A classe externa é chamado de que contém a classe, e é chamada de classe interna um aninhada classe.
Herança. Se a classe usa a Declaração Inherits, você pode especificar apenas um 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 nível de acessomais restritivo. Por exemplo, um Public classe não pode herdar de uma Friend classe.
A class cannot inherit from a class nested within it.
Implementação. Se a classe usa a Implementa Declaração, você deve implementar cada membro definido por cada interface que você especificar na interfacenames. Uma exceção é a reimplementação de um membro de classe base . Para obter mais informações, consulte "Reimplementação" in Cláusula Implements (Visual Basic).
Padrão Propriedade. Uma classe pode especificar no máximo uma propriedade como sua propriedadepadrão de. For more information, see Padrão (Visual Basic).
Behavior
Nível de acesso. Dentro de uma classe, você pode declarar cada membro com o seu próprio nível de acesso. Membros da classe padrão para Público (Visual Basic) de acesso, exceto as variáveis e constantes, padrão para Private (Visual Basic) de acesso. Quando uma classe tem mais acesso restrito que um de seus membros, onível de acesso de classeterá precedência.
Escopo. Uma classe está no escopo em toda a sua contendo namespace, classe, estruturaou módulo.
O escopo de cada membro da classe é a classede inteiro.
O tempo de vida. Visual Basic não oferece suporte a classes estático . O equivalente funcional de umaclasse de estáticoé fornecido por um módulo. For more information, see Declaração de Módulo.
Os membros de classe têm vidas úteis dependendo de como e onde elas são declaradas. For more information, see Tempo de vida no Visual Basic.
Qualification. OCódigo fora de uma classe deve qualificar o nome do membro com o nome dessa classe.
Se o código dentro de uma classe de aninhada faz uma referência não qualificada para um elemento de programação, Visual Basic procura o elemento primeiro no aninhada classe, em seguida, em sua classe, e assim por diante para fora para o elemento que contém mais externo.
Classes and Modules
These elements have many similarities, but there are some important differences as well.
Terminologia. VersõesAnterior de Visual Basic reconhecem dois tipos de módulos: os módulos declasse (arquivos do CLS) e módulos padrão (arquivos. BAS). The current version calls these classes and modules, respectively.
Membros compartilhados. You can control whether a member of a class is a shared or instance member.
Object Orientation. Classes are object-oriented, but modules are not. Você pode criar uma ou mais instâncias de uma classe. For more information, see Objetos e Classes no Visual Basic.
Exemplo
O exemplo a seguir utiliza um Classdedemonstrativo 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 (Visual Basic)
Referência
Declaração Interface (Visual Basic)
Conceitos
Estruturas e Classes (Visual Basic)
Vida útil de objeto: Como os objetos são criados e destruídos (Visual Basic)
Tipos genéricos no Visual Basic (Visual Basic)