Classes et modules
Mise à jour : novembre 2007
Les classes et les modules sont des types référence qui encapsulent des éléments définis en leur sein, mais ils se distinguent par la manière dont ces éléments sont accessibles à partir d'autres procédures.
Différences entre les classes et les modules
La principale différence qu'il existe entre les classes et les modules est que les classes peuvent être instanciées comme des objets, mais pas les modules standard. Comme il n'existe qu'une seule copie des données d'un module standard, quand une partie de votre programme transforme une variable publique en module standard, toute autre partie du programme reçoit la même valeur si, par la suite, elle lit cette variable. Par opposition, les données d'objet existent séparément pour chaque objet instancié. Une autre différence est que les classes peuvent implémenter des interfaces, contrairement aux modules standard.
Remarque : |
---|
Lorsque le modificateur Shared est appliqué à un membre de classe, il est associé à la classe elle-même au lieu d'une instance particulière de la classe. Le membre est accessible directement via le nom de classe au même titre que les membres de module. Pour plus d'informations sur les membres partagés, consultez Membres partagés en Visual Basic. |
Les classes et les modules utilisent également des portées différentes pour leurs membres. Les membres définis dans une classe ont comme portée une instance spécifique de la classe et n'existent que pendant la durée de vie de l'objet. Pour accéder aux membres de classe depuis l'extérieur d'une classe, vous devez utiliser des noms qualifiés complets au format Objet.Membre.
En revanche, les membres déclarés dans un module sont publiquement accessibles par défaut et sont accessibles par tout code qui peut accéder au module. Dès lors, les variables d'un module standard sont effectivement des variables globales puisqu'elles sont visibles à n'importe quel emplacement du projet et qu'elles existent pendant toute la durée de vie du programme.
Voir aussi
Concepts
Membres partagés en Visual Basic