Les propriétés sont de nouvelles constructions de programmation pour beaucoup. La conception des propriétés peut être une tâche difficile pour les nouveaux programmeurs. Cet article met en évidence les principales étapes impliquées dans la déclaration des propriétés et quand et pourquoi les déclarer.

Pas

  1. 1 Déterminez le type général de propriété que vous concevez et son utilisation principale. Les types courants de propriétés sont:
    • Accessors to Fields: la propriété récupère simplement la valeur d'un champ privé et y écrit.
    • Accessoire déclencheur d'événement sur les champs: accesseurs qui, outre la récupération et l'écriture de la valeur du champ, déclenchent également un événement lié au champ. Par exemple, déclencher un événement lorsque la valeur change (ce qui est le plus commun parmi ce type de propriétés)
    • Champs calculés: ils permettent d'émuler un champ qui n'est pas réellement stocké dans l'objet mais calculé à partir de valeurs déjà stockées. Par exemple, la propriété "Zone" dans un objet "Cercle" n'est pas réellement stockée mais est plutôt calculée à partir du rayon du cercle.
    • Valeurs du magasin de données: il s'agit de propriétés utilisées pour extraire des données d'un stockage de données, tel qu'une base de données ou un fichier.
  2. 2 Décidez du type de données de la propriété.
  3. 3 Décidez de l'accessibilité de la propriété. Les propriétés peuvent être Publique, interne, protégé, protégé interne ou privé. Ceci définit quelles parties du code accèdent à cette propriété. Les propriétés sont généralement publiques, protégées ou privées. Nous avons rarement besoin de créer des propriétés internes internes ou protégées.
  4. 4 Décidez de la lisibilité de la propriété. Cela permet de décider si les utilisateurs doivent être capables de lire la propriété uniquement ou de l’affecter également.
  5. 5 Décidez de l'étendue de la propriété. Cela revient à décider si la propriété appartiendra à la classe elle-même et non à un objet particulier de la classe (portée statique) ou appartiendra à des objets de la classe (voir Conseils ci-dessous).
  6. 6 Déterminez le comportement de polymorphisme de la propriété. Cela signifie que vous décidez si vous souhaitez que les classes héritées aient besoin de modifier ou non l'implémentation de la propriété. La propriété peut être virtuel (ce qui signifie que l'héritage des classes peut le remplacer - changer son implémentation), abstrait (ce qui signifie que l'implémentation de la propriété n'est pas connue pour le moment, mais toutes les classes héritières devraient l'implémenter si elles ne veulent pas être elles-mêmes abstraites ou normales, ce qui signifie qu'elles doivent utiliser l'implémentation fournie ou rend la nouvelle implémentation inaccessible via une référence de base.
  7. 7 Concevez le code qui extraira les données lorsque la propriété est utilisée dans la partie droite d'une instruction d'affectation. Par exemple, pour la propriété "Area", comment allez-vous calculer et renvoyer la zone si la propriété est utilisée dans une instruction comme "x = a.Area";
  8. 8 Concevez le code qui va écrire dans la propriété. En d'autres termes, que devrait-il se passer si une propriété est affectée à une propriété comme dans une instruction comme "a.Area = 20;". Cette étape est uniquement effectuée si vous choisissez d'implémenter une propriété en lecture-écriture dans 4. Pour les propriétés en lecture seule (comme l'exemple Area), vous ignorez cette étape.
  9. 9 Déclarez la propriété en utilisant la syntaxe suivante: modificateur d'accessibilité [statique|virtuel|abstrait] returnType Nom de la propriété obtenircode d'extraction; revenir returnValue; [ensemblecode d'affectation;] Où:
    • modificateur d'accessibilité fait partie de Publique, privé, protégé, interne ou protégé interne. En cas d'oubli, l'accessibilité minimale est supposée (c'est généralement privé)
    • returnType est le type de données des données représentées par la propriété. Cela ne peut pas être annulé.
    • Nom de la propriété est le nom de la propriété que vous déclarez.
    • code d'extraction est le code utilisé pour récupérer les données de la propriété.
    • returnValue est la valeur que vous souhaitez renvoyer à l'appelant de la propriété (généralement à la suite du traitement effectué par le code d'extraction)
    • code d'affectation est le code utilisé pour attribuer une valeur à la propriété. La valeur que l'utilisateur fournira dans l'instruction d'affectation qui déclenchera ce code est transmise au ensemble méthode comme référence nommée valeur. Par exemple, si l'utilisateur a écrit le code: a.Area = 10; il y aura une référence appelée valeur à l'intérieur du corps de ensemble qui a la valeur 10.
    • Les éléments entre crochets dans la syntaxe ci-dessus sont facultatifs (par exemple, le ensemble la méthode est facultative).