Partilhar via


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

Instrução (Visual Basic) Dim

Estático (Visual Basic)

Conceitos

Nomes de elementos declarados (Visual Basic)

Referências aos elementos declarados (Visual Basic)

Características de elemento declarado (Visual Basic)

Tempo de vida em Visual Basic

Escopo em Visual Basic

Variáveis em Visual Basic

Declaração de variável em Visual Basic