Partager via


Introduction aux objets dans Visual Basic

Mise à jour : novembre 2007

Un objet est une structure contenant des données et des méthodes qui manipulent les données. La plupart des opérations effectuées dans Visual Basic implique des objets. Si vous n'êtes pas familiarisé avec la programmation orientée objet, les termes et les concepts suivants vont vous aider à démarrer.

Classes et objets

Les termes « classe » et « objet » sont tellement utilisés dans la programmation orientée objet qu'ils peuvent être facilement confondus. En règle générale, une class est une représentation abstraite de quelque chose, tandis qu'un objet est un exemple utilisable de ce que représente la classe. La seule exception à cette règle concerne les membres de classe partagés, qui peuvent être utilisés dans les instances d'une classe et dans les variables d'objet déclarées comme le type de la classe.

Champs, propriétés, méthodes et événements

Les classes se composent de champs, de propriétés, de méthodes et d'événements. Les propriétés et les champs sont des informations contenues dans un objet. Les champs sont similaires aux variables, car ils peuvent être lus ou définis directement. Par exemple, si vous possédez un objet intitulé "Car", vous pouvez stocker sa couleur dans un champ nommé "Color".

Les propriétés sont extraites et définies comme des champs, mais sont implémentées via les procédures de propriété Get et Set qui contrôlent davantage la façon dont les valeurs sont définies ou retournées. La couche d'adressage entre la valeur stockée et les procédures qui utilisent cette valeur vous aide à isoler vos données et vous permet de valider les valeurs avant qu'elles ne soient attribuées ou extraites.

Les méthodes représentent des actions que peut effectuer un objet. Par exemple, un objet "Car" peut avoir des méthodes "StartEngine", "Drive" et "Stop". Pour définir des méthodes, ajoutez des procédures (des fonctions ou des routines Sub) à votre classe.

Les événements vous informent lorsqu'un objet est reçu d'autres applications ou transmis à celles-ci. Les événements permettent aux objets d'effectuer des actions lorsqu'une occurrence spécifique se produit. Un exemple d'un événement de la classe "Car" est un événement "Check_Engine". Dans la mesure où Microsoft Windows est un système d'exploitation piloté par événements, les événements peuvent provenir d'autres objets, applications ou actions de l'utilisateur (par exemple, lorsqu'il clique sur la souris ou appuie sur une touche).

Encapsulation, héritage et polymorphisme

Les champs, les propriétés, les méthodes et les événements ne représentent que la moitié de l'équation de la programmation orientée objet. La programmation orientée objet réelle nécessite que les objets prennent en charge trois qualités : l'encapsulation, l'héritage et le polymorphisme.

L'encapsulation signifie qu'un groupe de propriétés, méthodes et autres membres liés est traité comme une unité ou un objet unique. Les objets peuvent contrôler la façon dont les propriétés sont modifiées ou la façon dont les méthodes sont exécutées. Par exemple, un objet peut valider des valeurs avant d'autoriser des modifications de propriété. L'encapsulation facilite également la modification ultérieure de votre implémentation en vous permettant de masquer les détails d'implémentation de vos objets ; cette méthode est connue sous le nom de masquage des données.

L'héritage décrit la possibilité de créer de nouvelles classes en fonction d'une classe existante. La nouvelle classe hérite de toutes les propriétés, des méthodes et des événements de la classe de base et peut être personnalisée avec des propriétés et des méthodes supplémentaires. Par exemple, vous pouvez créer une classe intitulée "Truck" basée sur la classe "Car". La classe "Truck" hérite de la propriété "Color" de la classe "Car" et peut comporter des propriétés supplémentaires, telles que "FourWheelDrive".

Le polymorphisme signifie que plusieurs classes peuvent être utilisées de manière interchangeable, même si chacune des classes implémente les mêmes propriétés et méthodes de manière différente. Le polymorphisme est primordial dans la programmation orientée objet car il vous permet d'utiliser des éléments portant le même nom, quel que soit le type d'objet utilisé actuellement. Pour une classe de base "Car", par exemple, le polymorphisme permet au programmeur de définir plusieurs méthodes "StartEngine" pour tout nombre de classes dérivées. La méthode "StartEngine" d'une classe dérivée appelée "DieselCar" peut être totalement différente de la méthode portant le même nom dans la classe de base. D'autres procédures ou méthodes peuvent utiliser la méthode "StartEngine" des classes dérivées de la même façon, quel que soit le type d'objet "Car" utilisé simultanément.

Surcharge, substitution et occultation

La surcharge, la substitution et l'occultation sont des concepts similaires pouvant être facilement confondus. Même si ces trois techniques vous permettent de créer des membres portant le même nom, elles présentent d'importantes différences.

  • Les membres surchargés sont utilisés pour fournir des versions différentes d'une propriété ou d'une méthode portant le même nom, mais qui acceptent divers nombres ou paramètres ou des paramètres de divers types de données.

  • Les propriétés ou les méthodes substituées permettent de remplacer une propriété ou une méthode héritée qui n'est pas adaptée dans une classe dérivée. Les membres substitués doivent accepter le même type de données ainsi que le même nombre d'arguments. Les classes dérivées héritent des membres substitués.

  • Les membres occultés permettent de remplacer localement un membre dont la portée est plus vaste. Tout type peut occulter un autre type. Par exemple, vous pouvez déclarer une propriété qui occulte une méthode héritée du même nom. Les membres occultés ne peuvent pas être hérités.

Voir aussi

Concepts

Classes : modèles d'objets

Propriétés et méthodes surchargées

Substitution de propriétés et de méthodes

Occultation dans Visual Basic

Autres ressources

Objets en Visual Basic

Création et utilisation d'objets

Héritage en Visual Basic