Níveis de acesso em Visual Basic
The nível de acesso de um elemento declarado é a extensão da capacidade de acessá-lo, ou seja, o que o código tem permissão para lê-lo 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.The following code shows a sample Public declaration.
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.The following code shows a sample Protected declaration.
Protected Class classForMyHeirs
You can use Protected only at class level, and only when you declare a member of a class.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.The following code shows a sample Friend declaration.
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.The following code shows a sample ProtectedFriend declaration.
Protected Friend stringForProjectAndHeirs As String
You can use ProtectedFriend only at class level, and only when you declare a member of a class.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.The following code shows a sample Private declaration.
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 |
Assembly: 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: A disponibilidade de uma variável de controle
Conceitos
Características do elemento declarado
Declaração de variável no Visual Basic
Referência
Instrução Dim (Visual Basic)