Champs, événements et propriétés Visual Basic 2005

PowerAMC modélise les champs, événements et propriétés Visual Basic 2005 comme des attributs UML standard dotés de propriétés supplémentaires.

Création d'un champ, d'un événement ou d'une propriété

Pour créer un champ, un événement ou une propriété, affichez la feuille de propriétés d'un type, cliquez sur l'onglet Attributs, cliquez sur le bouton Ajouter en bas de l'onglet, puis sélectionnez l'option appropriée.

Pour plus d'informations sur la création et l'utilisation des attributs, voir Attributs (OOM).

Utilisation des événements

Les événements sont modélisés sous la forme d'attributs ayant le stéréotype <<Event>>, et avec une ou deux opérations liées représentant les gestionnaires Add et/ou Remove. Vous déclarez les événements au sein de classes, structures, modules et interfaces grâce au mot clé Event, comme dans l'exemple suivant :
Event AnEvent(ByVal EventNumber As Integer)

Un événement est comme un message qui annonce que quelque chose d'important s'est produit. Le fait de diffuser ce message est appelé déclenchement de l'événement

Les événements doivent être déclenchés dans la portée pour laquelle ils ont été déclarés. Par exemple, une classe dérivée ne peut pas déclencher des événements hérités d'une classe bean.

Un objet capable de déclencher un événement est un émetteur d'événements, on peut également rencontrer le terme source d'événements. Les formulaires, contrôles et objets définis par l'utilisateur peuvent être des émetteurs d'événements.

Les gestionnaires d'événement sont des procédures qui sont appelées dès lors que l'événement correspondant se produit. Vous pouvez utiliser n'importe quelle sous-routine valide avec une signature correspondante comme gestionnaire d'événements. Il n'est toutefois pas possible d'utiliser une fonction comme gestionnaire d'événements car une fonction ne peut pas retourner une valeur à la source des événements.

Visual Basic utilise une convention de dénomination standard pour les gestionnaires d'événements qui combine le nom de l'émetteur de l'événement, un tiret bas et le nom de l'événement. Par exemple, l'événement clic d'un bouton nommé button1 s'appellera Sub button1_Click. Il est conseillé de vous conformer à cette convention lorsque vous définissez des gestionnaires d'événement pour vos propres événements, bien que cela ne soit pas obligatoire. Vous pouvez utiliser n'importe quel nom de sous-routine valide.

Avant qu'un gestionnaire d'événement puisse être utilisé, vous devez au préalable l'associer à un événement à l'aide de l'instruction Handles ou AddHandler.

L'instruction WithEvents et la clause Handles fournissent une méthode déclarative de spécification des gestionnaires d'événements. Les événements déclenchés par un objet déclaré par WithEvents peuvent être traités par n'importe quelle sous-routine avec au moyen d'une clause Handles qui nomme ces événements. Même si la clause Handles constitue la méthode standard d'association d'un événement à un gestionnaire d'événements, son action est limitée à l'association d'événements aux gestionnaires d'événements au moment de la compilation.

Les instructions AddHandler et RemoveHandler sont plus souples à utiliser que la clause Handles. Elles permettent de connecter et déconnecter de façon dynamique les événements par rapport à au moins un gestionnaire d'événements au moment de l'exécution, et elles ne vous obligent pas à déclarer des variables d'objets à l'aide de WithEvents.

L'exemple suivant montre la classe Button, qui contient trois événements :



Public Class Printer
 Public PaperJam As EventHandler
 Public OutOfPaper As EventHandler
 Public JobOK As PrinterGoodDelegate
End Class

L'exemple suivant montre la classe Printer, qui contient un gestionnaire d'événement :



...
Public Function Operation_2() As Object Handles Print
 End Function
...

Utilisation des propriétés

Les propriétés Visual Basic 2005 sont modélisées sous la forme d'attributs ayant le stéréotype <<Property>>, et avec une ou deux opérations liées représentant les accesseurs Get et/ou Set

La visibilité de la propriété est définie par la visibilité de l'accesseur Get s'il existe, dans le cas contraire elle est définie par celle de l'opération de l'accesseur Set.

Les accesseurs Get et Set dans Visual Basic 2005 peuvent maintenant avoir différents réglages d'accessibilité, tant que Set est plus restrictif que Get.

Il est possible d'ajouter un Property pour un attribut existant pour pouvoir y accéder. L'attribut aura le stéréotype <<PropertyImplementation>>. Le Property créé aura le même code que l'attribut mis en oeuvre, mais commençant par un tiret bas (_). Par défaut le Property aura une visibilité publique et ne sera pas persistant

Propriétés d'un champ, d'un événement et d'une propriété

Les feuilles de propriétés des champs, événements et propriétés Visual Basic 2005 contiennent tous les onglets des feuilles de propriétés d'attribut standard, avec en plus un onglet VB, dont les propriétés sont répertoriées ci-dessous :

Propriété

Description

Unité de compilation

Spécifie l'unité de compilation dans laquelle le champ sera stocké. Disponible uniquement si le type parent est un type partiel (alloué à plusieurs unités de compilation).

Nouveau

Spécifie que l'attribut est créé par une nouvelle instance d'objet.

Occultation

Spécifie la forme d'occultation. Vous pouvez choisir entre :
  • Shadows

  • Overloads

  • Overrides

Défaut

[propriétés uniquement] Spécifie si la propriété est un défaut.

Redéfinition

[propriétés uniquement] Spécifie la forme de redéfinition. Vous pouvez choisir entre :
  • Overridable

  • NotOverridable

  • MustOverride

Paramètres de propriété

[propriétés uniquement] Spécifie les paramètres de la propriété.