Partilhar via


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

Nomes de Elementos Declarados

Características do elemento declarado

Tempo de vida no Visual Basic

O Escopo no Visual Basic

Variáveis no Visual Basic

Declaração de variável no Visual Basic

Referência

Instrução Dim (Visual Basic)

Static (Visual Basic)

Outros recursos

Referências aos elementos declaradas