PROPERTY |
Propriété |
|---|---|
| Visual Basic | |
Syntaxe
|
[Public | Private][Static] Property Get name [(arglist)][As type] [statements] [name = expression] [Exit Property] [statements] [name = expression] End Property |
|
[Public | Private][Static] Property Let name [(arglist)] [statements] [Exit Property] [statements] End Property |
|
[Public | Private][Static] Property Set name [(arglist)] [statements] [Exit Property] [statements] End Property |
Paramètres
| Nom | Description |
|---|---|
| Public | Ce paramètre permet d'indiquer que la propriété sera accessible depuis l'extérieur du module ou de la classe. |
| Private | Ce paramètre permet d'indiquer que la propriété sera accessible seulement à l'intérieur du module ou de la classe où elle est déclarée. Cela permet de contrôler qui peut lire ou modifier la propriété. |
| Static | Ce paramètre permet d'indioquer que la valeur de la propriété est conservée entre plusieurs appels. Même si la procédure est quittée, la valeur de ses variables locales statiques sera mémorisée pour le prochain appel, ce qui est utile pour des propriétés calculées ou évolutives. |
| Get name [(arglist)][As type] | Ce paramètre permet de lire une valeur. name est le nom de la propriété que l'on définit. arglist permet de spécifier des arguments, par exemple des indices pour des propriétés complexes (comme une liste). As type définit le type de données de la propriété retournée (String, Integer, Object,...). Le bloc Get est exécuté lorsqu'on accède à la propriété pour obtenir sa valeur. |
| Let name [(arglist)] | Ce paramètre permet d'assigner une valeur simple à une propriété. name est toujours le nom de la propriété. arglist peut aussi être utilisé pour spécifier des arguments si la propriété est indexée. Dans un Let, il n'y a pas de type spécifié après le nom, car il est implicite que l'on affecte une valeur simple. |
| Set name [(arglist)] | Ce paramètre permet d'affecter une propriété étant un objet (et non une valeur simple). name est encore une fois le nom de la propriété. arglist permet d'utiliser des paramètres si la propriété est indexée. Cela est nécessaire lorsque la propriété pointe vers des objets complexes (par exemple, affecter un nouvel objet à une propriété de type Form, Collection,...). |
| statements | Ce paramètre permet d'indiquer des lignes de code représentent le traitement interne : Dans Get, on peut préparer la valeur avant de la retourner. Dans Let et Set, on peut ajouter des contrôles, validations ou traitements avant d'affecter la valeur. |
| Exit Property | Ce paramètre permet de sortir précocement de la propriété si besoin est, avant d'atteindre End Property. Cela est utile si certaines conditions sont remplies pour ne pas continuer l'exécution. |
| End Property | Ce paramètre permet de marquer simplement la fin du bloc Property. Il est obligatoire pour délimiter proprement la définition de la propriété. |
Description
Cette instruction permet de gérer une propriété.
Remarques
- Le bloc Property Get sert à lire une valeur associée à une propriété : Lorsqu'un utilisateur ou un programme accède à une propriété, c'est le code du Get étant exécuté. Ce bloc permet de contrôler précisément la valeur retournée, en y insérant si besoin des calculs ou des validations avant de renvoyer l'information.
- Le bloc Property Let permet d'assigner une valeur simple à une propriété : Utilisé principalement pour des types de données de base (comme Integer, String,...), le Let donne la possibilité de vérifier ou d'adapter la valeur entrée avant de l'entreposer. Cela assure une meilleure fiabilité des données internes de l'objet.
- Le bloc Property Set est utilisé pour affecter des objets en tant que propriétés : Contrairement à Let gérant les types simples, Set est réservé aux propriétés devant contenir des références vers des objets. Cela permet par exemple de relier dynamiquement des formulaires, des contrôles ou d'autres classes personnalisées.
- Le mot clef [Public | Private] contrôle l'accessibilité de la propriété : Déclarer une propriété Public la rend disponible à l'extérieur de son module ou de sa classe, tandis que Private la limite à un usage interne. Ce choix est fondamental pour l'encapsulation des données et la sécurité du programme.
- Le mot clef Static conserve la valeur de la propriété entre les appels : Lorsqu'une propriété est déclarée Static, ses variables internes ne sont pas réinitialisées à chaque appel. Cela est particulièrement utile si on veut que la propriété se souvienne d'un état entre différentes utilisations sans avoir recours à des variables globales.
- La clause Exit Property permet de sortir prématurément d'un bloc Property : Utiliser Exit Property peut éviter d'exécuter inutilement le reste du code si une certaine condition est rencontrée. Cela rend les blocs de propriétés plus sûrs, plus rapides et mieux contrôlés lors de l'exécution.
- Les paramètres (arglist) permettent de rendre une propriété indexable : En ajoutant des paramètres au bloc Property, il est possible de simuler des collections internes ou des comportements personnalisés, comme accéder directement à des éléments spécifiques en fonction d'un indice ou d'une clef.
- L'organisation Property Get/Let/Set offre une manière élégante de gérer l'accès aux données : Au lieu d'exposer directement des variables publiques, on utilise des propriétés pour ajouter des règles métier, valider des données, ou effectuer des calculs à la volée. Cela renforce la robustesse et la maintenabilité du code Visual Basic.
Dernière mise à jour : Jeudi, le 31 Décembre 2020