Níveis de acesso em Visual Basic
O o nível de acesso de um elemento declarado é a extensão da habilidade de acessá-lo, ou seja, o que o código tem permissão para ler ou gravar nela.Isso é determinado não apenas por como você declarar o elemento em si, mas também pelo nível de acesso do recipiente do elemento.O código que não é possível acessar um elemento contendo não pode acessar qualquer de seus elementos contidos, mesmo aqueles declaradas como Public.Por exemplo, uma Public variável em uma Private estrutura pode ser acessada de dentro da classe que contém a estrutura, mas não de fora dessa classe.
Público
A Público (Visual Basic) palavra-chave na instrução de declaração especifica que os elementos podem ser acessados a partir de código em qualquer lugar no mesmo projeto, de outros projetos que fazem referência do projeto, e do qualquer conjunto de módulos (assembly) criado a partir do projeto.O código a seguir mostra um exemplo Public Declaração.
Public Class classForEverybody
Você pode usar Public somente em nível de namespace ou módulo.Isso significa que você pode declarar um elemento público no nível de uma arquivo de origem ou namespace, ou dentro de uma interface, módulo, de classe ou estrutura, mas não em um procedimento.
Protegido
A Protegido (Visual Basic) palavra-chave na instrução de declaração especifica que os elementos podem ser acessados somente de dentro da mesma classe, ou de uma classe derivada dessa classe.O código a seguir mostra um exemplo Protected Declaração.
Protected Class classForMyHeirs
Você pode usar Protected somente no nível de classe, e somente quando você declarar um membro da classe.Isso significa que você pode declarar um elemento público no nível de uma arquivo de origem ou namespace, ou dentro de uma interface, módulo, de classe ou estrutura, mas não em um procedimento.
Friend
A Amigo (Visual Basic) palavra-chave na instrução de declaração especifica que os elementos podem ser acessados a partir dentro mesmo assembly, mas não de fora o assembly.O código a seguir mostra um exemplo Friend Declaração.
Friend stringForThisProject As String
Você pode usar Friend somente em nível de namespace ou módulo.Isso significa que você pode declarar um elemento público no nível de uma arquivo de origem ou namespace, ou dentro de uma interface, módulo, de classe ou estrutura, mas não em um procedimento.
Amigo Protegido
O Protected e especifica se os elementos podem ser acessados de classes derivadas ou dentro de Friend palavras-chave juntos na instrução de declaração o mesmo conjunto de módulos (assembly), ou ambos.O código a seguir mostra um exemplo ProtectedFriend declaração.
Protected Friend stringForProjectAndHeirs As String
Você pode usar ProtectedFriend somente à classe de nível e somente quando você declara um membro de uma classe.Isso significa que você pode declarar um elemento público no nível de uma arquivo de origem ou namespace, ou dentro de uma interface, módulo, de classe ou estrutura, mas não em um procedimento.
Private
A Private (Visual Basic) palavra-chave na instrução de declaração especifica que os elementos podem ser acessados somente de dentro da mesma classe, ou de uma classe derivada dessa classe.O código a seguir mostra um exemplo Private Declaração.
Private numberForMeOnly As Integer
Você pode usar Private somente no nível de módulo.Isso significa que você pode declarar um elemento público no nível de uma arquivo de origem ou namespace, ou dentro de uma interface, módulo, de classe ou estrutura, mas não em um procedimento.
No nível de módulo, a instrução Dim sem qualquer acesso de nível palavras-chave é equivalente a uma declaração Private.No entanto, convém usar a Private palavra-chave para tornar o código mais fácil de ler e interpretar.
Modificadores de acesso
As palavras-chave que especificam o nível de acesso são chamadas modificadores acesso.A tabela a seguir compara os modificadores de acesso.
Modificador de acesso |
Acesso concedido nível |
Elementos você pode declarar com esse nível de acesso |
Declaração de contexto no qual você pode usar esse modificador |
---|---|---|---|
Public |
Irrestrito: Qualquer código que possa ver um elemento público pode acessá-lo |
Interfaces Módulos Classes Estruturas Membros de estrutura Procedimentos Propriedades Variáveis de membro Constantes Enumerações Eventos Declarações externas Delegados |
Arquivo fonte Namespace Interface Module Classe Estrutura |
Protected |
Derivacional: Código na classe que declara um elemento protegido, ou uma classe derivada dele, pode acessar o elemento |
Interfaces Classes Estruturas Procedimentos Propriedades Variáveis de membro Constantes Enumerações Eventos Declarações externas Delegados |
Classe |
Friend |
Conjunto de módulos: Código no conjunto de módulos (assembly) que declara que um elemento de amigo pode acessá-lo |
Interfaces Módulos Classes Estruturas Membros de estrutura Procedimentos Propriedades Variáveis de membro Constantes Enumerações Eventos Declarações externas Delegados |
Arquivo fonte Namespace Interface Module Classe Estrutura |
ProtectedFriend |
União de Protected e Friend: Código na mesma classe ou o mesmo conjunto como um elemento Amigo Protegido, ou em qualquer classe derivada da classe do elemento, pode acessá-lo |
Interfaces Classes Estruturas Procedimentos Propriedades Variáveis de membro Constantes Enumerações Eventos Declarações externas Delegados |
Classe |
Private |
Contexto da Declaração. Código de tipo que declara um elemento particular, incluindo o código de tipos contidos, pode acessar o elemento |
Interfaces Classes Estruturas Membros de estrutura Procedimentos Propriedades Variáveis de membro Constantes Enumerações Eventos Declarações externas Delegados |
Module Classe Estrutura |
Consulte também
Tarefas
Como: controlar a disponibilidade de uma variável (Visual Basic)
Referência
Conceitos
Nomes de elementos declarados (Visual Basic)
Referências aos elementos declarados (Visual Basic)