Condividi tramite


Confronto tra classi e moduli

Aggiornamento: novembre 2007

Sia le classi che i moduli sono tipi di riferimento che incapsulano elementi definiti all'interno, ma si differenziano per la modalità di accesso a tali elementi da altre routine.

Differenze tra classi e moduli

La differenza principale tra classi e moduli consiste nella possibilità di creare istanze delle classi come oggetti, che non esiste per i moduli standard. Poiché è presente una sola copia di dati di un modulo standard, quando una variabile pubblica viene modificata in un modulo standard da una parte del programma tutte le altre parti del programma ricevono lo stesso valore, per l'eventualità che la variabile venga letta successivamente. I dati degli oggetti, invece, sono separati per ciascun oggetto per il quale sia stata creata un'istanza. A differenza dei moduli standard inoltre le classi possono implementare interfacce.

Nota:

Quando si applica un modificatore Shared a un membro di classe, il modificatore viene associato alla classe stessa piuttosto che a una particolare istanza della classe. L'accesso al membro avviene direttamente tramite il nome della classe, nello stesso modo in cui si accede ai membri del modulo. Per ulteriori informazioni sui membri condivisi, vedere Membri condivisi in Visual Basic.

Le classi e i moduli utilizzano inoltre ambiti diversi per i rispettivi membri. I membri definiti in una classe vengono inseriti in un ambito limitato a una specifica istanza della classe ed esistono solo per la durata dell'oggetto. Per accedere ai membri di una classe dall'esterno di una classe, è necessario utilizzare nomi completi nel formato Object.Member.

D'altra parte, i membri dichiarati all'interno di un modulo hanno accesso pubblico per impostazione predefinita e ad essi può accedere qualsiasi codice che abbia accesso al modulo. Le variabili presenti in un modulo standard sono quindi effettivamente variabili globali, in quanto sono visibili da qualunque punto del progetto ed esistono per la durata del programma.

Vedere anche

Concetti

Strutture e classi

Membri condivisi in Visual Basic

Riferimenti

Shared (Visual Basic)

Altre risorse

Cenni preliminari sulle classi