Condividi tramite


Programmazione orientata ad oggetti per gli utenti di Visual Basic 6.0

Aggiornamento: novembre 2007

In Visual Basic 6.0 è previsto il supporto di elementi di linguaggio orientati ad oggetti e degli oggetti distribuiti in librerie. In Visual Basic 2008 tale supporto è stato esteso anche alla programmazione orientata ad oggetti, poiché tutte le relative proprietà di linguaggio sono supportate.

Differenze concettuali

Nelle sezioni riportate di seguito sono elencate le funzionalità orientate ad oggetti in Visual Basic 2008 e viene eseguito un confronto tra queste e l'implementazione di Visual Basic 6.0 ove applicabile. Per ogni funzionalità vengono forniti collegamenti a pagine della Guida in cui è possibile trovare spiegazioni più approfondite e ulteriori informazioni.

Livelli di accesso

In Visual Basic 6.0 le parole chiave Private, Friend, Public e Static vengono utilizzate per l'impostazione dei livelli di accesso per gli argomenti dichiarati.

In Visual Basic 2008 le parole chiave Private, Friend, Public e Static oltre alle nuove parole chiave Protected e Protected Friend vengono utilizzate per impostare i livelli di accesso per gli elementi dichiarati. Il livello di accesso di un elemento dichiarato indica l'ampiezza della capacità di accesso all'elemento, ossia specifica le parti di codice che dispongono delle autorizzazioni di lettura o scrittura sull'elemento.

Per ulteriori informazioni, vedere Livelli di accesso in Visual Basic e Ambito in Visual Basic.

Attributi

In Visual Basic 6.0 viene fornito supporto limitato agli attributi incorporati, tramite strumenti quali Attributi routine dell'ambiente di sviluppo integrato di Visual Basic.

In Visual Basic 2008Attribute è un tag descrittivo che può essere utilizzato per l'annotazione del tipo e delle istruzioni dei membri del tipo, modificandone di conseguenza il significato o personalizzandone il comportamento. Ad esempio, le istruzioni relative alle classi o ai metodi delle classi possono essere annotate con attributi.

Per l'applicazione in questione e altre applicazioni, quali il compilatore Visual Basic, può essere utilizzata la reflection per l'accesso agli attributi, al fine di determinare le modalità di utilizzo di tipi e membri dei tipi.

Gli attributi possono essere utilizzati per la programmazione AOP (Aspect Oriented Programming, programmazione ad aspetti) con Visual Basic. Viene definito aspetto una parte di un programma di tipo trasversale rispetto alla logica di business del programma stesso. In altre parole, un aspetto è necessario per completare il programma, ma non è necessariamente specifico rispetto al dominio per cui il programma viene scritto. L'isolamento di tali aspetti, così come la registrazione e la persistenza dalla logica di business è lo scopo del paradigma AOP.

Per ulteriori informazioni, vedere Cenni preliminari sugli attributi in Visual Basic, Attributi utilizzati in Visual Basic e Utilizzi comuni degli attributi.

Compatibilità binaria

In Visual Basic 6.0 è possibile utilizzare l'opzione Binary Compatibility per conservare automaticamente gli identificatori di classe e di interfaccia di una versione precedente di un componente quando si compila una nuova versione.

In Visual Basic 2008 l'opzione Binary Compatibility non viene supportata, la compatibilità binaria, invece, viene ottenuta tramite attributi. È quindi possibile controllare in modo diretto le informazioni presenti nel componente compilato, quali identificatori di interfaccia e di classi, offset di tabelle virtuali e tutti gli attributi COM appropriati.

Per ulteriori informazioni, vedere Modifiche alla compatibilità binaria per gli utenti di Visual Basic 6.0.

Moduli di classe

In Visual Basic 6.0 una classe viene definita all'interno di un modulo di classe. Un singolo modulo di classe viene archiviato in uno speciale tipo di file con estensione cls.

In Visual Basic 2008 una classe viene definita in un'istruzione Class che specifica il nome e i membri di una classe. Le istruzioni Class vengono archiviate nei file di origine. L'intero file di origine può essere visualizzato come testo normale.

È possibile archiviare in un unico file di origine più istruzioni Class e istruzioni di altro tipo. In Visual Basic non è necessario il nome del file di origine per stabilire la corrispondenza con un'istruzione Class o un tipo definito nel file di origine.

Per ulteriori informazioni, vedere Istruzione Class (Visual Basic).

Metodi del costruttore di classi

In Visual Basic 6.0 il gestore eventi Initialize della classe denominato Class_Initialize viene utilizzato per l'esecuzione di codice che deve essere eseguito nel momento in cui viene creato un oggetto.

In Visual Basic 2008 vengono aggiunti a una classe uno o più costruttori per l'esecuzione di codice e l'inizializzazione di variabili. I costruttori sono i metodi denominati New all'interno di una classe. Il metodo New può essere sottoposto a overload per fornire costruttori multipli con il nome New all'interno dell'istruzione della stessa classe.

Per ulteriori informazioni, vedere New (Visual Basic) o Utilizzo di costruttori e distruttori.

Metodi del distruttore di classi

In Visual Basic 6.0 la parola chiave Nothing viene utilizzata per dissociare la variabile di un oggetto da un oggetto reale. L'istruzione Set viene utilizzata per assegnare Nothing alla variabile di un oggetto.

In Visual Basic 2008 le attività di gestione della memoria necessarie vengono effettuate dal Garbage Collector per la maggior parte degli oggetti creati dall'applicazione. Per le risorse non gestite è tuttavia necessario il rilascio esplicito. Il tipo più comune di risorsa non gestita è rappresentato da un oggetto che esegue il wrapping di una risorsa del sistema operativo, quale un handle di file, un handle di finestra o una connessione di rete.

Quando si crea un oggetto che incapsula una risorsa non gestita, si consiglia di fornire il codice necessario per il rilascio della risorsa non gestita in un metodo Dispose pubblico. Fornendo un metodo Dispose, si consente agli utenti dell'oggetto di liberarne esplicitamente la memoria al termine delle operazioni che richiedono tale oggetto.

Quando si utilizza un oggetto che incapsula una risorsa non gestita, si consiglia di tenere in considerazione il metodo Dispose e di chiamarlo in caso di necessità.

Per ulteriori informazioni, vedere Pulitura delle risorse non gestite o Gestione automatica della memoria.

Class_Initialize

In Visual Basic 6.0 l'evento Initialize di una classe può essere gestito da un metodo Class_Initialize per l'esecuzione di codice che deve essere eseguito nel momento in cui viene creato un oggetto. Ad esempio, possono essere inizializzati i valori delle variabili dei dati di una classe.

In Visual Basic 2008 l'evento Initialize e il gestore Class_Initialize non vengono supportati. Per fornire l'inizializzazione delle classi, aggiungere uno o più metodi del costruttore alle classi e alle strutture che si definiscono.

Per ulteriori informazioni, vedere Modifiche a Class_Initialize per gli utenti di Visual Basic 6.0.

Classi di dati

In Visual Basic 6.0 le classi di origini dati e le classi consumer di dati complessi vengono impiegate per l'utilizzo di dati esterni, ad esempio le informazioni dei database Microsoft SQL Server. Una classe di origine dati fornisce dati da un'origine esterna. Una classe consumer di dati può essere associata a un'origine dati esterna, ad esempio una classe Data Source.

In Visual Basic 2008 le classi di origini dati, le classi consumer di dati semplici e di dati complessi, le classi Binding vengono impiegate per l'utilizzo di dati interni ed esterni.

Per ulteriori informazioni, vedere Associazione dati e Windows Form.

Proprietà Default

In Visual Basic 6.0 qualsiasi proprietà di una classe può essere definita come proprietà predefinita della classe.

In Visual Basic 2008 il membro predefinito di una classe o struttura può essere solo una proprietà che accetta uno o più argomenti. I membri predefiniti delle proprietà vengono definiti includendo la parola chiave Default in un'istruzione di dichiarazione di una proprietà in una classe o struttura.

Per ulteriori informazioni, vedere Modifiche alle proprietà predefinite per gli utenti di Visual Basic 6.0.

Delegati

In Visual Basic 6.0 i tipi delegato non vengono supportati.

In Visual Basic 2008 un tipo delegato è una forma di puntatore al metodo orientato agli oggetti che consente di richiamare un metodo in modo indiretto, ovvero attraverso un riferimento a esso. I delegati possono essere utilizzati per agganciare i gestori eventi e passare un metodo da un metodo a un altro.

I delegati possono essere utilizzati per implementare il modello di progettazione asincrona. Utilizzando un delegato asincrono un programma può chiamare, ad esempio, un metodo che enumera un elenco di grandi dimensioni, mentre continua l'esecuzione del programma principale. Una volta completata l'enumerazione, verrà eseguito un callback.

Per ulteriori informazioni, vedere Delegati in Visual Basic o Procedura: passare una routine a un'altra routine in Visual Basic.

Gestione degli errori

In Visual Basic 6.0 l'istruzione On Error viene utilizzata per la gestione di eccezioni non strutturata.

In Visual Basic 2008 è supportata la gestione delle eccezioni strutturata e non strutturata. La gestione delle eccezioni strutturata consiste in una struttura di controllo contenente eccezioni, blocchi di codice isolati e filtri per la creazione di un meccanismo di gestione delle eccezioni,

Per ulteriori informazioni, vedere Gestione delle eccezioni strutturata in Visual Basic o Definizione delle circostanze di utilizzo della gestione delle eccezioni strutturata o non strutturata.

Eventi

In Visual Basic 6.0 le parole chiave Event, RaiseEvent e WithEvents vengono utilizzate per dichiarare, generare e gestire eventi.

In Visual Basic 2008 le parole chiave Event, RaiseEvent e WithEvents oltre alle nuove parole chiave AddHandler, RemoveHandler e Handles vengono utilizzate per dichiarare, generare e gestire eventi.

Le parole chiave AddHandler e RemoveHandler consentono di aggiungere, rimuovere e modificare dinamicamente il gestore eventi associato a un evento.

La parola chiave Handles consente di definire una clausola Handles su un metodo. Handles dichiara che una routine gestisce un evento specificato.

Il funzionamento degli eventi in .NET Framework è basato sul modello a delegati. Il modello a delegati si basa sul modello di progettazione observer orientato agli oggetti.

Per ulteriori informazioni, vedere Procedura: scrivere gestori eventi.

Generici

In Visual Basic 6.0 i tipi generici non vengono supportati.

In Visual Basic 2008 i tipi generici vengono utilizzati per l'implementazione del polimorfismo dei parametri in un programma Visual Basic. Il codice generico viene scritto senza menzionare tipi specifici e quindi può essere utilizzato in maniera trasparente con qualsiasi tipo nuovo.

In Visual Basic 2008 sono ora disponibili i parametri di tipo sulle classi generiche, strutture, interfacce, procedure e delegati. Un argomento di tipo corrispondente consente di specificare in fase di compilazione il tipo di dati di uno degli elementi nel tipo generico.

Per ulteriori informazioni, vedere Tipi generici in Visual Basic.

Classi globali

In Visual Basic 6.0 il valore della proprietà Instancing di una classe determina se una classe è privata, vale a dire se deve essere utilizzata con un solo componente, o se è disponibile anche per essere impiegata con altre applicazioni. Determina inoltre le modalità in cui altre applicazioni creano istanze della classe e chiamano i membri della classe.

In Visual Basic 2008 la proprietà Instancing non è più supportata.

È possibile applicare la parola chiave Public a istruzioni di una classe all'interno di un assembly, per esporre le classi in tale assembly ad altri assembly.

È possibile fare riferimento a un assembly esterno, come ad esempio una libreria di classi, per attivare il codice nell'applicazione, al fine di utilizzare le classi Public da tale libreria di classi.

È possibile utilizzare la parola chiave Imports per importare i nomi degli spazi dei nomi da progetti e assembly a cui è stato fatto riferimento. Tramite la parola chiave Imports è inoltre possibile importare i nomi degli spazi dei nomi definiti nello stesso progetto del file in cui si trova l'istruzione.

È possibile applicare la parola chiave Shared a campi, proprietà e membri di metodi di classi e strutture, per implementare membri condivisi. I membri condivisi sono proprietà, routine e campi che sono condivisi da tutte le istanze di una classe o di una struttura. È possibile accedere ai membri condivisi di una classe senza creare un'istanza della classe.

Per ulteriori informazioni, vedere Livelli di accesso in Visual Basic, Riferimenti e istruzione Imports o Membri condivisi in Visual Basic.

Ereditarietà dell'implementazione

In Visual Basic 6.0 l'ereditarietà dell'implementazione non viene supportata.

In Visual Basic 2008 è possibile implementare un polimorfismo adeguato tramite l'ereditarietà dell'implementazione. Ciò consente di definire classi che possono essere utilizzate in un codice client in fase di esecuzione in modo intercambiabile, ma con metodi o proprietà differenti dal punto di vista funzionale, pur se con nomi identici.

È possibile definire le classi base che fungono da base per le classi derivate. Le classi derivate ereditano e possono estendere proprietà, metodi ed eventi della classe base. Esse inoltre possono sostituire i metodi ereditati con nuove implementazioni.

Per ulteriori informazioni, vedere Nozioni fondamentali sull'ereditarietà o Utilizzo dell'ereditarietà.

Ereditarietà di interfaccia

In Visual Basic 6.0 il polimorfismo è disponibile tramite più interfacce ActiveX. Nel modello COM (Component Object Model) che costituisce l'infrastruttura delle specifiche ActiveX, le interfacce multiple consentono l'evoluzione dei sistemi di componenti software senza interruzione del codice esistente.

In Visual Basic 2008 è possibile implementare un polimorfismo adeguato con la parola chiave Interface di .NET Framework.

Più classi possono implementare la stessa Interface e una singola classe può implementare una o più interfacce. Un'interfaccia è essenzialmente la definizione del modo in cui una classe deve rispondere. Definisce i metodi, le proprietà e gli eventi che una classe deve implementare e il tipo di parametri che ciascun membro deve ricevere e restituire, ma lascia che l'implementazione specifica di tali membri venga eseguita dalla classe.

Più interfacce hanno il vantaggio di consentire un'evoluzione dei sistemi di componenti software senza creare interruzioni nel codice esistente.

Per ulteriori informazioni, vedere Polimorfismo basato sulle interfacce o Procedura: creare e implementare interfacce.

Metodi: parametri ByVal e ByRef

In Visual Basic 6.0 gli argomenti vengono passati a un metodo tramite valore o tramite riferimento. A meno che i parametri del metodo non vengano specificati esplicitamente dalla parola chiave ByVal o ByRef, gli argomenti sono passati implicitamente tramite riferimento (ByRef).

In Visual Basic 2008 gli argomenti vengono passati a un metodo tramite valore o riferimento. A meno che i parametri del metodo non vengano specificati esplicitamente dalla parola chiave ByVal o ByRef, gli argomenti sono passati implicitamente tramite valore (ByVal).

Per ulteriori informazioni, vedere Passaggio di argomenti per valore e per riferimento.

Metodi: overload

In Visual Basic 6.0 l'overload dei metodi non viene supportato.

In Visual Basic 2008 l'overload del Method viene utilizzato per l'implementazione di un polimorfismo adeguato in un programma Visual Basic. Quando in una classe viene definito un metodo il cui nome è già presente fra i metodi della classe, il nuovo metodo è detto di overload. Le versioni di overload presentano tuttavia parametri e tipi restituiti diversi.

Per ulteriori informazioni, vedere Proprietà in overload e metodi e Utilizzo del polimorfismo in Visual Basic.

Metodi: override

In Visual Basic 6.0 non è possibile sottoporre i metodi a override.

In Visual Basic 2008 è possibile utilizzare la parola chiave Overrides per eseguire l'override di un metodo in una classe derivata, per fornire un'implementazione diversa di un metodo dalla classe base della classe derivata.

Per ulteriori informazioni, vedere Override di proprietà e metodi.

Metodi: restituzione dei risultati

In Visual Basic 6.0 un nome del metodo Function viene utilizzato come nome di una variabile per restituire il risultato del metodo Function.

In Visual Basic 2008 è possibile utilizzare la parola chiave Return per restituire il risultato di un metodo Function.

Utilizzare la parola chiave Return per la restituzione del controllo al codice che ha chiamato un metodo Sub, Function o Property.

Per ulteriori informazioni, vedere Istruzione Return (Visual Basic).

My

In Visual Basic 2008 la nuova funzionalità My consente una rapida programmazione orientata ad oggetti con Visual Basic, fornendo punti di immissione a classi e funzioni .NET Framework utilizzate di frequente. My fornisce nuove classi .NET Framework di alto livello che riuniscono funzionalità correlate in API basate su attività.

Per ulteriori informazioni, vedere Sviluppo con My.

Parole chiave MyBase, MyClass e Me

In Visual Basic 6.0 la parola chiave Me ha un comportamento analogo a quello di una variabile dichiarata implicitamente. Quando una classe dispone di più di un'istanza, la parola chiave Me consente di fare riferimento all'istanza specifica della classe in cui il codice è in esecuzione.

In Visual Basic 2008 la parola chiave MyBase consente di fare riferimento all'istanza della classe base dell'istanza di classe corrente.

La parola chiave MyClass consente di fare riferimento all'istanza della classe corrente senza override.

La parola chiave Me consente di fare riferimento all'istanza specifica di una classe o struttura in cui il codice è attualmente in esecuzione.

Per ulteriori informazioni, vedere Me, My, MyBase e MyClass in Visual Basic.

Parola chiave New

In Visual Basic 6.0 l'utilizzo non appropriato della parola chiave New può causare un insolito comportamento di reinizializzazione da cui possono derivare errori e un impiego eccessivo della memoria.

In Visual Basic 2008 la parola chiave New consente semplicemente l'allocazione di spazio per l'oggetto e non provoca alcun inconsueto comportamento di reinizializzazione.

È possibile utilizzare una clausola New in un'istruzione di assegnazione o per la dichiarazione. Quando l'istruzione viene eseguita, viene chiamato il metodo di un costruttore della classe specificata e vengono passati gli argomenti forniti nella clausola New. Ciò significa che è possibile impostare dei vincoli sui dati anche a partire dal momento in cui viene creata un'istanza dell'oggetto.

Una classe è dotata di uno o più costruttori. I costruttori sono i metodi all'interno di un metodo il cui nome è New. È possibile definire più costruttori eseguendo l'overload del metodo New nella classe. I metodi del costruttore sottoposto a overload vengono descritti come costruttori parametrizzati.

Per ulteriori informazioni, vedere New (Visual Basic).

Durata dell'oggetto

In Visual Basic 6.0 la durata dell'oggetto è deterministica. Ogni istanza di oggetto tiene un conteggio dei riferimenti. Quando l'ultimo riferimento a un'istanza viene rilasciato e il conteggio viene azzerato, l'oggetto termina immediatamente.

In Visual Basic 2008 la durata dell'oggetto non è deterministica. Un distruttore non viene necessariamente chiamato non appena viene rilasciato l'ultimo riferimento, in quanto Common Language Runtime mantiene una struttura di riferimenti anziché singoli conteggi di riferimenti.

Il Garbage Collector analizza la struttura di riferimenti in background. Se viene rilevato un oggetto o un gruppo di oggetti a cui non è associato alcun riferimento presente nel codice correntemente in esecuzione, il Garbage Collector chiama il distruttore di tali oggetti.

Non è possibile prevedere l'ordine dell'eliminazione permanente o il tempo richiesto al Garbage Collector per analizzare la struttura di riferimenti.

Per ulteriori informazioni, vedere Durata in Visual Basic o Durata degli oggetti: come creare e distruggere oggetti.

Overload dell'operatore

In Visual Basic 6.0 l'overload dell'operatore non viene supportato.

In Visual Basic 2008 l'overload dell'operatore consente la definizione del comportamento di un operatore standard (come *, <> o And) per una classe o struttura definita dall'utente.

Per ulteriori informazioni, vedere Procedura: definire un operatore di conversione.

Option Strict

In Visual Basic 6.0 la verifica dei tipi permissiva viene utilizzata in fase di esecuzione.

In Visual Basic 2008 è possibile utilizzare l'istruzione OPTION STRICT ON per attivare una verifica dei tipi rigorosa in fase di progettazione invece della verifica dei tipi permissiva in fase di esecuzione. Per impostazione predefinita viene utilizzata l'istruzione OPTION STRICT OFF.

Quando si effettua una conversione tra tipi di dati, il compilatore di Visual Basic può operare nel rispetto di una semantica dei tipi rigorosa o permissiva. Se è attivata la semantica dei tipi rigorosa (OPTION STRICT ON), sarà consentita l'esecuzione implicita delle sole conversioni di ampliamento, mentre le conversioni di restrizione dovranno essere esplicite. Con la semantica dei tipi permissiva (OPTION STRICT OFF) è possibile provare a eseguire in modo implicito tutte le conversioni verso un tipo di dati più grande o più piccolo. La semantica dei tipi ha effetto sulle conversioni tra tutti i tipi di dati, inclusi i tipi Object.

Per ulteriori informazioni, vedere Controllo dei tipi in Visual Basic.

Sintassi delle proprietà

In Visual Basic 6.0, per ottenere e impostare i valori delle proprietà è possibile utilizzare le istruzioni Property Get, Property Let e Property Set.

In Visual Basic 2008 viene utilizzata una sintassi di dichiarazione delle proprietà unificata che include le routine per ottenere e impostare i valori della proprietà. In questo modo viene garantita l'uniformità degli attributi della proprietà, ad esempio il livello di accesso e l'overload.

Per ulteriori informazioni, vedere Modifiche alle proprietà per gli utenti di Visual Basic 6.0.

Interfacce pubbliche

In Visual Basic 6.0 l'interfaccia pubblica di una classe è l'insieme dei suoi membri pubblici.

In Visual Basic 2008 l'interfaccia pubblica di una classe è l'insieme dei suoi membri pubblici, ma è possibile utilizzare una classe astratta per implementare un polimorfismo di sottotipi in un programma Visual Basic.

Una classe astratta è simile a una Interface di .NET Framework. Una classe astratta viene progettata solo per fungere da classe base per le classi derivate. Le classi astratte vengono spesso utilizzate per rappresentare concetti astratti o entità.

Non è possibile creare un'istanza di una classe astratta, è necessario ereditarla. Alcuni o tutti i membri della classe possono non essere implementati e spetta alla classe che eredita fornire tale implementazione. È comunque possibile eseguire l'override dei membri implementati e la classe che eredita può implementare interfacce aggiuntive o altre funzionalità.

Per ulteriori informazioni, vedere MustInherit.

Proprietà in sola lettura

In Visual Basic 6.0 l'esclusione del metodo Set in una routine Property crea una proprietà in sola lettura.

In Visual Basic 2008 è necessario sia applicare la parola chiave ReadOnly a una proprietà che escludere la clausola Set della proprietà stessa per creare una proprietà in sola lettura.

È inoltre possibile applicare la parola chiave ReadOnly a un campo per impostarlo come campo in sola lettura.

Per ulteriori informazioni, vedere ReadOnly (Visual Basic).

Reflection

In Visual Basic 6.0 la reflection non viene supportata.

In Visual Basic 2008 le classi nello spazio dei nomi System.Reflection della libreria di classi .NET Framework possono essere utilizzate per ottenere informazioni su tipi quali classi, interfacce e tipi valore in fase di esecuzione e per creare istanze dei tipi, allo scopo di richiamarli e accedervi.

Per ulteriori informazioni, vedere Spazi dei nomi reflection in Visual Studio.

Membri condivisi di classi e strutture

In Visual Basic 2008 la nuova parola chiave Shared può essere applicata alle istruzioni Property, Sub, Dim, Function, Operator ed Event in modo che vengano condivise con tutte le istanze di una classe o di una struttura. È possibile accedere ai membri condivisi di una classe senza creare un'istanza della classe.

Inoltre, l'accesso ai membri condivisi può essere effettuato tramite il nome della classe invece che tramite un'istanza della classe.

Per ulteriori informazioni, vedere Membri condivisi in Visual Basic.

File di origine

In Visual Basic 2008 i programmi sono costituiti da uno o più file di origine. I file di origine vengono archiviati in uno speciale tipo di file con estensione vb. Le istruzioni dei tipi per tipi quali classi, strutture, interfacce, enumerazioni e delegati, così come le istruzioni per i moduli standard, vengono archiviate nei file del codice sorgente del programma. In Visual Basic il file di origine è in grado di definire più di un tipo e non è necessario il nome del file di origine per la corrispondenza con un tipo definito nel file di origine.

Istruzioni di tipi parziali consentono la definizione di una classe o di una struttura in più file di origine. Quando viene compilato un programma con più file di origine, tutti i file di origine vengono elaborati insieme, come se fossero stati concatenati in un unico file prima dell'elaborazione.

Per ulteriori informazioni, vedere Struttura di un programma Visual Basic o Partial (Visual Basic).

Tipi definiti dall'utente

In Visual Basic 6.0 l'istruzione Type viene utilizzata per associare variabili di parecchi tipi diversi in un solo tipo definito dall'utente o UDT.

In Visual Basic 2008 le istruzioni Structure e Enum vengono utilizzate per la definizione di tipi valore definiti dall'utente.

Utilizzare le istruzioni Class, Interface e Delegate per la definizione di tipi di riferimento definiti dall'utente.

Per ulteriori informazioni, vedere Strutture: tipi di dati dell'utente.

Dichiarazione di variabili

In Visual Basic 6.0 è possibile dichiarare variabili di tipi differenti nella stessa istruzione. Se non si specifica il tipo di dati di una variabile all'interno dell'istruzione, viene utilizzata l'impostazione predefinita Variant.

In Visual Basic 2008 è possibile dichiarare più variabili dello stesso tipo di dati senza che sia necessario specificare il tipo di dati di ogni variabile nell'istruzione.

Per ulteriori informazioni, vedere Dichiarazione di variabili in Visual Basic.

Note sull'aggiornamento

Quando viene eseguito l'aggiornamento di un'applicazione Visual Basic 6.0 a Visual Basic 2008 i costrutti del codice orientato ad oggetti vengono convertiti nell'equivalente più vicino in Visual Basic 2008 nel modo più vantaggioso. Il codice che ne risulta non deve essere considerato un esempio di programmazione orientata agli oggetti in Visual Basic 2008.

Se si intende estendere un'applicazione aggiornata per utilizzare i costrutti orientati agli oggetti di Visual Basic 2008, è auspicabile prima modificare il codice aggiornato. Nelle pagine che seguono sono riportate informazioni introduttive sull'argomento.

Vedere anche

Attività

Esempio di programmazione orientata a oggetti

Concetti

Classi per gli utenti di Visual Basic 6.0

Modifiche alla programmazione orientata ad oggetti in Visual Basic

Modifiche all'interfaccia per gli utenti di Visual Basic 6.0

Ereditarietà per gli utenti di Visual Basic 6.0

Altre risorse

Modifiche al linguaggio per gli utenti di Visual Basic 6.0

Guida in linea per gli utenti di Visual Basic 6.0