Compartilhar via


Programação orientada a objetos para usuários do Visual Basic 6.0

Visual Basic 6.0 oferece suporte a elementos de linguagem orientada a objetos e tem suporte para objetos distribuídos em bibliotecas.Visual Basic 2008 estende o suporte para programação orientada a objeto com suporte a todas as suas propriedades de linguagem.

Diferenças Conceituais

As seções abaixo lista recursos orientados a objeto no Visual Basic 2008, comparando-as com a implementação do Visual Basic 6.0 onde for aplicável. Para cada recurso, links são fornecidos para páginas detalhadas de ajuda que podem ajudar você aprender mais.

Níveis de acesso

No Visual Basic 6.0, as palavras-chave Private, Friend, Public, e Static são usados para conjunto o nível de acesso para elementos declarados.

In Visual Basic 2008, as palavras-chave Private, Friend, Public, e Static, além de novas palavras-chave Protected e Protected Friend são usados para conjunto o nível de acesso para elementos declarados. O nível de acesso para elementos declarados é a extensão da habilidade de acessá-los — ou seja, que código tem permissão para ler ou escrever.

Para obter mais informações, consulte Níveis de acesso em Visual Basic e O Escopo no Visual Basic.

Atributos

No Visual Basic 6.0, o suporte limitado para atributos incorporados é fornecido através ferramentas, como os atributos de procedimento no IDE do Visual Basic.

In Visual Basic 2008, um Attribute é uma marca descritiva que pode ser usada para fazer anotações de tipo e digite declarações de membro, assim, modificando seu significado ou personalizando seu comportamento. Por exemplo, declarações de classe e declarações de método de classe podem ser anotadas com atributos.

Sua aplicação e outras aplicações, como o compilador do Visual Basic, podem usar reflexão para acessar atributos para determinar como tipos e membros de tipos podem ser usados.

Atributos podem ser usados para executar programação orientada a aspecto (AOP) com Visual Basic. Um aspecto é uma parte de um programa que atravessa ou corta sua lógica comercial.Em outras palavras, ele é necessário para concluir o programa, mas não é necessariamente específico para o domínio que o programa foi redigido.Isolando esses aspectos como log e persistência da lógica comercial é o AIM do paradigma da programação orientada a aspecto.

Para obter mais informações, consulte Visão Geral de Atributos em Visual Basic, Atributos usados no Visual Basic e Usos ComComumComum para atributos.

Binary Compatibility

No Visual Basic 6.0, a Binary Compatibility opção permite que você mantenha automaticamente a classe e os identificadores da interface de uma versão anterior de um componente quando você compila uma nova versão.

In Visual Basic 2008, o Binary Compatibility Não há suporte para opção; em vez disso, compatibilidade binária é obtida com atributos. Isto lhe fornece controle direto sobre a informação colocada em seu componente compilado, assim como a classe e os identificadores de interface, deslocamento de tabelas virtuais, e quaisquer atributos COM apropriados.

Para obter mais informações, consulte Alterações da Binary Compatibility para usuários do Visual Basic 6.0.

Módulos classe

No Visual Basic 6.0, uma classe é definida em um módulo de classe.Um módulo de classe único é armazenado em um tipo especial de arquivo que tenha uma extensão de arquivo.cls.

In Visual Basic 2008, uma classe é definido em um Class demonstrativo que especifica o nome e os membros de uma classe. Class instruções são armazenadas em arquivos de fonte. O arquivo de origem inteiro pode ser exibido como texto sem-formatação.

Vários Class declarações, bem sistema autônomo outras declarações de tipo podem ser armazenadas no arquivo de fonte única. Visual Basic não requer o nome do arquivo fonte para coincidir com um Class ou tipo definido no arquivo de origem.

Para obter mais informações, consulte Declaração Class (Visual Basic).

Métodos construtores de classe

No Visual Basic 6.0, a classe Initialize manipulador de eventos chamado Class_Initialize é usado para executar o código que precisa ser executado no momento que um objeto é criado.

In Visual Basic 2008um ou mais construtores são adicionados a uma classe para executar código e inicializar variáveis. Construtores são os métodos em uma classe que são nomeados New. The New método pode ser sobrecarregado para fornecer vários construtores com o nome New na mesma demonstrativo de classe.

Para obter mais informações, consulte Novo (Visual Basic) ou Usando Construtores e Destrutores.

Métodos destrutores de classe

No Visual Basic 6.0, a Nothing palavra-chave é usada para desassociar uma variável de objeto de um objeto real. The Set demonstrativo é usada para atribuir Nothing a uma variável de objeto.

In Visual Basic 2008, para a maioria dos objetos que sua plaicação cria, você pode contar com o coletor de lixo para executar automaticamente as tarefas de gerenciamento de memória necessárias. Entretanto, recursos não gerenciados requerem limpeza explícita.O tipo mais comum de recursos não gerenciados é um objeto que envolve um recurso do sistema operacional, como um identificador de arquivo, identificador de janela ou conexão de rede.

Quando você cria um objeto que encapsula um recurso não gerenciado, é recomendável que você forneça o código necessário para limpar o recurso não gerenciado em um público Dispose método. Ao fornecer um Dispose método, você permite que usuários do seu objeto explicitamente liberem sua memória quando elas estiverem concluído com o objeto.

Quando você usa um objeto que encapsula um recurso não gerenciado, você deve estar ciente de Dispose e chame-o conforme necessário.

Para obter mais informações, consulte Limpando recursos não gerenciados ou Gerenciamento automático de memória.

Class_Initialize

No Visual Basic 6.0, uma classe Initialize evento pode ser tratado por um Class_Initialize método para executar o código que precisa ser executado no momento que um objeto é criado. Por exemplo, os valores das variáveis de uma classe de dados podem ser inicializados.

In Visual Basic 2008O Initialize evento e o Class_Initialize Não há suporte para o manipulador. Para fornecer a inicialização da classe, adicione um ou mais métodos construtores às classes e estruturas que você definir.

Para obter mais informações, consulte Class_Initialize Alterações para usuários do Visual Basic 6.0.

Classes de dados

No Visual Basic 6.0, fonte de dados e classes complexas consumidoras de dados são usados para trabalhar com dados externos, como bancos de dados Microsoft SQL Server.Uma classe de origem de dados fornece dados de uma fonte externa.Uma classe consumidora de dados pode ser vinculada a uma fonte externa de dados, sistema autônomo um Data Source classe.

In Visual Basic 2008, fonte de dados, consumidor simples de dados, consumidor de dados complexos e classes de ligação são usados para trabalhar com dados externos e internos.

Para obter mais informações, consulte Ligação de dados e o Windows Forms.

Propriedade padrão

No Visual Basic 6.0, qualquer propriedade da classe pode ser definidas como a propriedade padrão da classe.

In Visual Basic 2008, o membro padrão de uma classe ou estrutura pode ser apenas uma propriedade que leva um ou mais argumentos. Membros de propriedade padrão são definidos pela inclusão de Default palavra-chave em demonstrativo de uma propriedade em uma classe ou estrutura.

Para obter mais informações, consulte Alterações de propriedades padrão para usuários do Visual Basic 6.0.

Delegados

No Visual Basic 6.0, não há suporte para tipos representante.

In Visual Basic 2008, um tipo delegado é uma forma de um ponteiro de método orientados a objeto que permite um método ser chamado indiretamente por meio de uma referência ao método. Representantes podem ser usados para ligar manipuladores de eventos e para passar um método de um método para outro.

Representantes pode ser usados para implementar o padrão de design assíncrono.Por exemplo, usando um representante assíncrono, um programa pode chamar um método, que enumera uma lista grande, enquanto continua a executar o programa principal.Quando a enumeração estiver concluído, um retorno de chamada é feito e o programa endereça ele.

Para obter mais informações, consulte Delegados no Visual Basic  ou Como: PASS procedimentos como outro procedimento no Visual Basic.

Tratamento de erro

No Visual Basic 6.0, a On Error demonstrativo é usada para tratamento exceções não estruturados.

In Visual Basic 2008, há suporte para o ambas tratamento exceção não estruturado e estruturado. O tratamento exceção estruturado é um estrutura de controle contendo exceções, isolando blocos de código e filtros para criar um mecanismo de tratamento de exceção.

Para obter mais informações, consulte Manipulação da Exceção Estruturada no Visual Basic ou Escolhendo Quando Usar Manipulação de Exceção Estruturada e não Estruturada.

Eventos

No Visual Basic 6.0, a Event, RaiseEvent, e WithEvents palavras-chave são usadas para declarar, aumentar e manipular eventos.

In Visual Basic 2008, o Event, RaiseEvent, e WithEvents palavras-chave mais novo AddHandler, RemoveHandler, e Handles palavras-chave são usadas para declarar, aumentar e manipular eventos.

The AddHandler e RemoveHandler palavras-chave permitem que você dinamicamente adicionar, remover e alterar o manipulador de eventos associado a um evento.

The Handles palavra-chave permite que você defina um Handles cláusula em um método. Handles declara que um procedimento manipula um evento especificado.

Eventos no .NET Framework são baseados no modelo representante.O modelo representante é baseado no padrão de observação do design orientados a objeto.

Para obter mais informações, consulte Como: Gravar Eventos manipuladores.

Genéricos

No Visual Basic 6.0, não há suporte para tipos genéricos.

In Visual Basic 2008, genéricos são usados para implementar polimorfismo paramétrico em um Visual Basic programa. Código genérico é gravado sem menção de qualquer tipo específico e assim pode ser usado de forma transparente com qualquer número de novos tipos.

Visual Basic 2008 suporta digite parâmetros em classes genéricas, estruturas, interfaces, procedimentos e representantes. Um tipo de argumento correspondente especifica em tempo de compilação o tipo de dados de um dos elementos no tipo genérico.

Para obter mais informações, consulte Tipos genéricos no Visual Basic.

Classes globais

No Visual Basic 6.0, o valor de Instancing propriedade de uma classe determina se uma classe é privada — ou seja, para uso com apenas um componente, ou usar de outros aplicativos. Também determina como outros aplicativos cria, instâncias da classe e como outros aplicativos chamam os membros de classe.

In Visual Basic 2008, o Instancing Não há suporte para a propriedade.

Você pode aplicar o Public palavra-chave para instruções de classe em um assembly para expor classes daquele assembly para outros assemblies.

Você pode consultar um assembly externos sistema autônomo uma biblioteca de classes para habilitar código em seu aplicativo para usar o Public classes a partir dessa biblioteca de classe.

Você pode usar o Imports palavra-chave para importar namespace nomes de projetos referenciados e assemblies. The Imports palavra-chave também pode importar nomes de espaço de nomes definidos dentro do mesmo projeto sistema autônomo o arquivo no qual a demonstrativo aparece.

Você pode aplicar o Shared palavra-chave para membros de campo, propriedade e método de classes e estruturas para implementar membros compartilhados. Membros compartilhados são propriedades, procedimentos e campos que são compartilhados por todas as ocorrências de uma classe ou estrutura.Os membros compartilhados de uma classe podem ser acessados sem criar uma instância a classe.

Para obter mais informações, consulte Níveis de acesso em Visual Basic, Referências e o statement Imports, ou Membros compartilhados no Visual Basic.

Herança de implementação

No Visual Basic 6.0, não há suporte para implementação de herança.

In Visual Basic 2008, você pode implementar polimorfismo ad-hoc através de herança de implementação. Isso permite que você defina classes que podem ser usadas intercambiavelmente pelo código do cliente em tempo de execução, mas com funcionalidade diferente (mesmo com nome idêntico) métodos ou propriedades.

Você pode definir classes base que servem como base para classes derivadas.Classes derivadas herdam e pode estender, propriedades, métodos e eventos da classe base.Classes derivadas também podem substituir métodos herdados com novas implementações.

Para obter mais informações, consulte Noções básicas sobre herança ou Quando usar a herança.

Herança da interface

Visual Basic 6.0 fornece polimorfismo através de várias interfaces ActiveX.No Modelo de Objeto Componente (COM) que forma a infraestrutura da especificação do ActiveX, múltiplas interfaces permite que componentes de sistemas de software evolua sem quebrar o código existente.

In Visual Basic 2008, você pode implementar polimorfismo ad-hoc com o .NET estrutura Interface palavra-chave.

Várias classes podem implementar o mesmo Interface, e uma única classe pode implementar uma ou mais interfaces. Interfaces estão essencialmente definições de como a classe precisa responder.A interface define os métodos, propriedades e eventos que a classe precisa implementar e os tipos de parâmetros que cada membro precisa receber e retornar, mas deixa a implementação desses membros para a implementação da classe.

Várias interfaces tem a vantagem de permitir que sistemas de componentes de software evoluam sem quebra código existente.

Para obter mais informações, consulte Interface-Based Polymorphism ou Como: Criar e implementar interfaces.

Métodos: ByVal e ByRef parâmetros

No Visual Basic 6.0, argumentos são passados para um método por valor ou por referência.A menos que explicitamente os parâmetros do método são especificados pelo ByVal ou ByRef palavra-chave, os argumentos são implicitamente passados por referência)ByRef).

In Visual Basic 2008, argumentos são passados para um método por valor ou referência. A menos que explicitamente os parâmetros do método são especificados pelo ByVal ou ByRef palavra-chave, argumentos são passados implicitamente pelo valor)ByVal).

Para obter mais informações, consulte Argumento passar por valor e por referência.

Métodos: Sobrecarga

No Visual Basic 6.0, não há suporte para método sobrecarga.

In Visual Basic 2008, Method sobrecarga é usado para implementar polimorfismo ad-hoc em um Visual Basic programa. Um método é sobrecarregado quando mais de uma versão do método é definida em uma classe.As versões sobrecarregadas diferem em seus tipos parâmetros e retorno.

Para obter mais informações, consulte Propriedades e métodos sobrecarregados e Como Visual Basic fornece polimorfismo.

Métodos: Substituição

No Visual Basic 6.0, métodos não pode ser substituídos.

In Visual Basic 2008, você pode usar o Overrides palavra-chave para substituir um método em uma classe derivada para fornecer uma implementação diferente de um método da classe base classe derivada da.

Para obter mais informações, consulte Sobrescrevendo propriedades e métodos.

Métodos: Retornando resultados

No Visual Basic 6.0, um Function nome do método é usado sistema autônomo o nome de uma variável para retornar a Function resultado do método.

In Visual Basic 2008, você usa o Return palavra-chave para retornar uma Function resultado do método.

Use o Return para retornar o controle ao código que chamou uma Sub, Function, ou Property método.

Para obter mais informações, consulte Instrução Return (Visual Basic).

My

In Visual Basic 2008, o novo My o recurso permite rápida programação orientada a objeto com Visual Basic fornecendo pontos de entrada para funções e classes .NET estrutura usadas com freqüência. My fornece novas classes do .NET estrutura alto nível que reúnem funcionalidade relacionada em APIs com base em tarefa.

Para obter mais informações, consulte Desenvolvimento com My.

Palavras-chave MyBase, MyClass e Me

No Visual Basic 6.0, a Me palavra-chave se comporta como uma variável declarada implicitamente. Quando uma classe tem mais de uma instância, Me Fornece uma maneira de se referir à instância específica da classe onde o código está sendo executado.

In Visual Basic 2008, o MyBase palavra-chave fornece uma maneira de fazer referência à classe base da instância de classe corrente.

The MyClass palavra-chave oferece uma maneira de se referir à instância de classe corrente sem substituição.

The Me palavra-chave fornece uma maneira para se referir à instância específica de uma classe ou estrutura na qual o código está sendo executado no momento.

Para obter mais informações, consulte Me, My, MyBase, and MyClass in Visual Basic.

Keyword NEW

No Visual Basic 6.0, usando o New palavra-chave inapropriedamente pode provocar alguma reinicialização incomum que pode resultar em erros e uso de memória excessiva, característica.

In Visual Basic 2008, o New palavra-chave simplesmente aloca espaço para o objeto; isto não causa qualquer comportamento de reinicialização incomum.

Use um New cláusula WHERE na demonstrativo de demonstrativo ou uma demonstrativo de atribuição. Quando a demonstrativo for executada, ele chama um método construtor da classe especificada, passando quaisquer argumentos fornecidos no New cláusula. Isso significa que você pode impor restrições de dados a partir do momento que o objeto é instanciado.

Uma classe tem um ou mais construtores.Construtores são os métodos em um método chamado New. Vários construtores são definidos pela sobrecarga o New método na classe. Sobrecargas de métodos construtores são descritas como construtores parametrizados.

Para obter mais informações, consulte Novo (Visual Basic).

Vida útil do objeto

No Visual Basic 6.0, o tempo de vida do objeto é determinístico; cada instância do objeto mantém uma contagem de referência.Quando a última referência da instância é liberada e a contagem é igual a zero, o objeto será finalizado imediatamente.

In Visual Basic 2008, tempo de vida do objeto é não-deterministico; um destructor não é necessariamente chamado assim que a última referência é liberada. Isso ocorre porque o Common Language Runtime mantém uma árvore de referências em vez da contagens de referências individuais.

O coletor de lixo rastreia a árvore referência no segundo plano.Se ele encontrar um objeto ou grupo de objetos que não possuem referências de qualquer código atualmente em execução, ele chama o destrutores de todos esses objetos.

É impossível prever tanto a ordem desta destruição ou o tempo que leva para o coletor de lixo rastrear a árvore de referência.

Para obter mais informações, consulte Tempo de vida em Visual Basic ou Como objetos são criados e destruídos Outros recursos.

Operador de sobrecarga

No Visual Basic 6.0, não há suporte para operador de sobrecarga.

In Visual Basic 2008, o sobrecarga de operador permite a característica do operador padrão (sistema autônomo *, <>, ou And) a serem definidas para uma classe definida pelo usuário ou estrutura.

Para obter mais informações, consulte Como: Definir um operador de conversão.

Opção estrita

No Visual Basic 6.0, verificação de tipo permissível é usada em tempo de execução.

In Visual Basic 2008, você pode usar o OPTION STRICT ON demonstrativo para ativar tipo estrito de verificação em time de design em vez de tipo permissível de verificação em time de execução. Por padrão, OPTION STRICT OFF é usado.

Quando se converte entre tipos de dados, o compilador Visual Basic pode operar sob semântica de tipo permissivas ou rígidas.Se tipo estrito de semântica estiverem em vigor (OPTION STRICT ON), somente as conversões de expansão são permitidas implicitamente e restringir as conversões deve ser explícita. Em tipo permissível de semântica (OPTION STRICT OFF), pode tentar todos os alargamento e restringir as conversões implicitamente. Semânticas de tipo aplicam-se a conversões entre todos os tipos de dados, inclusive tipos de objetos.

Para obter mais informações, consulte Verificação de Tipo no Visual Basic.

Sintaxe para propriedade

No Visual Basic 6.0, a Property Get, Property Let, e Property Set instruções são usadas para obter e conjunto valores de propriedade.

In Visual Basic 2008, que inclui os procedimentos para obter e definir o valor da propriedade é usado uma sintaxe de declaração de propriedade unificada. Isso garante consistência dos atributos da propriedade, como nível de acesso e sobrecarga.

Para obter mais informações, consulte Alterações de Propriedades para Usuários do Visual Basic 6.0.

Interfaces públicas

No Visual Basic 6.0, uma interface de classe pública é o conjunto de seus membros públicos.

In Visual Basic 2008, interface de uma classe pública é o conjunto de seus membros públicos, mas uma classe abstrata pode ser usada para implementar polimorfismo de subtipo em um programa do Visual Basic.

Uma classe abstrata é semelhante à Interface. Uma classe abstrata é um projeto apenas para servir como uma classe base para classes derivadas.Frequentemente classes abstratas são usadas para representar conceitos abstratos ou entidades.

Uma classe abstrata não pode ser instanciada; ela deve ser herdada.Alguns ou todos os membros da classe podem ser não implementados, e fica para a classe herdade prover a implementação.Membros que são implementadas ainda pode ser substituídos e a classe herdada ainda pode implementar interfaces adicionais ou outras funcionalidades.

Para obter mais informações, consulte MustInherit.

Propriedades somente leitura

No Visual Basic 6.0, exceto o Set método em um Property procedimento cria uma propriedade somente leitura.

In Visual Basic 2008, ambos você deve aplicar o ReadOnly palavra-chave para uma propriedade e excluir a propriedade Set cláusula para tornar uma propriedade somente leitura.

Você também pode aplicar o ReadOnly palavra-chave a um campo para torná-la somente leitura.

Para obter mais informações, consulte ReadOnly (Visual Basic).

Reflexão

No Visual Basic 6.0, não há suporte para reflexão.

In Visual Basic 2008, sistema autônomo classes na biblioteca de classes do .NET estrutura System.Reflection espaço para nome pode ser usado para obter informações sobre tipos sistema autônomo classes, interfaces e tipos de valor em time de execução e para criar tipos de instâncias para invocá-las e acessá-las.

Para obter mais informações, consulte Reflexão dos espaços para nome no Visual Studio.

Classe compartilhada e membros de estrutura

In Visual Basic 2008, o novo Shared palavra-chave pode ser aplicado a Property, Sub, Dim, Function, Operator, e Event instruções para compartilhá-los com todas as ocorrências de uma classe ou estrutura. Os membros compartilhados de uma classe podem ser acessados sem criar uma instância a classe.

Você pode acessar membros compartilhado através do nome da classe em vez de usar uma instância da classe.

Para obter mais informações, consulte Membros compartilhados no Visual Basic.

Arquivos de origem

In Visual Basic 2008, programas consistem em um ou mais arquivos de fonte. Arquivos de fonte são armazenados em um tipo especial de arquivo que possui uma extensão de arquivo .vb.Declarações de tipo para tipos sistema autônomo classes, estruturas, interfaces, enumerações e delegados, bem sistema autônomo declarações dos módulos padrão, são armazenadas em arquivos de código-fonte do programa.Visual Basic não limita um arquivo de fonte para definir somente um tipo nem faz ele requer o nome do arquivo de fonte para coincidir com um tipo definido no arquivo de fonte.

Instruções de tipo parcial permitem uma classe, ou uma estrutura, serem definidos em vários arquivos de origem.Quando um programa com vários arquivos de origem é compilado, todos os arquivos de origem são processados juntos como se todos os arquivos de origem fossem concatenadas em um arquivo antes de serem processados.

Para obter mais informações, consulte Estrutura de um programa Visual Basic ou Partial (Visual Basic).

Tipos definidos pelo usuário

No Visual Basic 6.0, a Type demonstrativo é usada para agrupar variáveis de vários tipos diferentes em tipo definido pelo uma usuário ou UDT.

In Visual Basic 2008, o Structure e Enum instruções são usadas para definir valores de tipos definidos pelo usuário.

Use o Class, Interface, e Delegate instruções para definir tipos de referência definidos pelo usuário.

Para obter mais informações, consulte Estruturas: suas próprias tipos de dados.

Declaração de Variável

No Visual Basic 6.0, você pode declarar variáveis de tipos diferentes na mesma declaração.Se você não especificar o tipo de dados de uma variável na demonstrativo, o padrão será Variant.

In Visual Basic 2008, você pode declarar diversas variáveis do mesmo tipo de dados sem ter que especificar o tipo de dados de cada variável na demonstrativo.

Para obter mais informações, consulte Declaração de variável no Visual Basic.

Observações de Atualização

Quando um aplicativo Visual Basic 6.0 é atualizado para Visual Basic 2008, construções de código orientados a objeto são convertidas em seus mais próximo Visual Basic 2008 equivalente a maneira mais apropriada. O código resultante não deve ser aceito sistema autônomo um exemplo de sistema autônomo fazer de programação orientada a objetosVisual Basic 2008.

Se você pretende estender um aplicativo atualizado para usar Visual Basic 2008 construções orientados a objeto, primeiro convém modificar o código atualizado. As seguintes páginas devem ajudá-lo a começar.

Consulte também

Tarefas

Exemplo de Programação do objeto Oriented

Conceitos

Classes para usuários do Visual Basic 6.0

Alterações orientadas a objeto para módulos no Visual Basic

Interface Changes for Visual Basic 6.0 Users

Herança para usuários do Visual Basic 6.0

Outros recursos

Alterações na Linguagem para Usuários do Visual Basic 6.0

Ajuda para usuários do Visual Basic 6.0