Partilhar via


Classes versus módulos

Classes e módulos são tipos de referência que encapsulam os itens definidos dentro, mas eles diferem em como itens são acessados a partir de outros procedimentos.

Diferenças entre classes e módulos

A principal diferença entre classes e módulos é que as classes podem ser instanciadas como objetos enquanto os módulos padrão não podem.Como há apenas uma cópia dos dados de um módulo padrão, quando uma parte do seu programa altera uma variável pública em um módulo padrão, qualquer outra parte do programa recebe o mesmo valor se ler essa variável.Em contraste, dados do objeto existem separadamente para cada objeto instanciado.Outra diferença é que, ao contrário dos módulos padrão, classes podem implementar interfaces.

Observação:

Quando o Shared modificador é aplicado a um membro da classe, é associado com a classe em si, em vez de uma instância específica da classe. O membro é acessado diretamente usando o nome da classe, da mesma maneira que membros de módulo são acessados.Para obter mais informações sobre membros compartilhados, veja Membros compartilhados no Visual Basic.

Classes e módulos também usam escopos diferentes para seus membros.Membros definidos em uma classe têm escopo em uma instância específica da classe e existem apenas durante a vida útil do objeto.Para acessar membros de classe de fora de uma classe, você deve usar nomes totalmente qualificados no formato de Objeto.Membro.

Por outro lado, o membros declarados dentro de um módulo são acessíveis publicamente por padrão e podem ser acessados por qualquer código que pode acessar o módulo.Isso significa que variáveis em um módulo padrão são na realidade variáveis globais, pois estão visíveis de qualquer lugar em seu projeto, e existem durante a vida útil do programa.

Consulte também

Conceitos

Estruturas e Classes

Membros compartilhados no Visual Basic

Referência

Compartilhamento (Visual Basic)

Outros recursos

Noções básicas sobre classes