TP VB.NET encapsulation protection et accès aux données membres

Cours et TP VB.NET encapsulation protection et accès aux données membres, tutoriel & guide de travaux pratiques en pdf.

TP ENCAPSULATION PROTECTION ET ACCES AUX DONNEES MEMBRES

OBJECTIFS

  • Protection des propriétés (données membres).
  • Fonctions de type Get et Set, d’accès aux propriétés.

CE QU’IL FAUT SAVOIR

Protection des propriétés
En Programmation Orientée Objet, on évite d’accéderdirectement aux propriétés par l’opérateur. . En effet, cette possibilité ne correspond pas auconcept d’encapsulation. Certains langages l’interdisent carrément. En C#, c’est le programmeur qui choisit si une donnée membre ou une fonction membre est accessible directement ou pas.  Par défaut, VB.NET toutes les propriétés et méthodes sont accessibles directement. Il faut donc préciser explicitement les conditions d’accès pour chaque propriété et chaque méthode. Pour cela, il existe trois mots-clés :

  • public – Après ce mot clé, toutes les données ou fonctions membres sont
  • private – Après ce mot clé, toutes les données ou fonctions membres sont verrouillées et ne seront pas accessibles dans lesclasses dérivées.
  • protected – Après ce mot clé, toutes les données ou fonctions membres sont verrouillées mais sont néanmoins accessibles dansesl classes dérivées.

La distinction entre private et protected n’est visible que dans le cas de la déclaration de nouvelles classes par héritage. Ce oncept sera abordé ultérieurement dans ce cours.
Afin d’implanter correctement le concept d’encapsulation, il convient de verrouiller l’accès aux propriétés et de les déclarerprivate, tout en maintenant l’accès aux méthodes en les déclarantpublic.

Fonctions d’accès aux propriétés
Si les propriétés sont verrouillées, on ne peut plus y avoir accès de l’extérieur de la classe. Il faut donc créer des méthodes dédiées ‘accèsàl aux propriétés pour chacune d’elles. Ces méthodes doivent permettre un accès dans les deux sens :

  • pour connaître la valeur de la propriété.Ces méthodes sont appelées méthodes de type « Get. ». La réponse de l’objet, donc la valeur retournéepar la méthodeGet, doit être cette valeur.
  • pour modifier la valeur d’une propriété.Ces méthodes sont appelées méthodes Set. Cette méthode ne retourne aucune réponse. Par contre, un paramètre de même nature que la propriété doit lui être indiqué.

L’intérêt de passer par des fonctionsSet est de pouvoir y localiser des contrôles de validité des paramètres passés pour assurer la ohérence de l’objet, en y déclenchant des exceptions par exemple. La sécurisation des classes sera abordée ultérieurement dans ce cours.

Remarque :
Les modifiers Set peuvent être implémentés par dessous programmes Sub.

Accès aux attributs membres par les Property de classe

Il est possible de définir les accès aux attributsd’une classe par des propriétés Property à la place des méthodes Get et Set. Cette possibilité existe aussi en VB 6.

TRAVAIL A REALISER
A partir du travail réalisé au T.P. N° 1, modifierla classe Salarie pour :

  • protéger les propriétés et en interdire l’accès del’extérieur de l’objet (l’accès aux fonctions membres doit toujours être possible),créer les méthodes d’accès aux propriétés Get et Set.
  • Modifier la fonction Main de la classe Application pour tester.

Bonus : vous pouvez tester  les propriétés de classe Property…

INTRODUCTION 
T.P. N°1 – CLASSE D’OBJET – ENCAPSULATION
1.1 OBJECTIFS
1.2 CE QU’IL FAUT SAVOIR
1.3 TRAVAIL A REALISER
T.P. N° 2 – ENCAPSULATION PROTECTION ET ACCES AUX DONNEES MEMBRES
2.1 OBJECTIFS
2.2 CE QU’IL FAUT SAVOIR
2.3 TRAVAIL A REALISER
T.P. N° 3 – CONSTRUCTION ET DESTRUCTION 
3.1 OBJECTIFS
3.2 CE QU’IL FAUT SAVOIR
3.3 TRAVAIL A REALISER
T.P. N°4 – L’HERITAGE 
4.1 OBJECTIFS
4.2 CE QU’IL FAUT SAVOIR
4.3 TRAVAIL A REALISER
T.P. N°5 – LES COLLECTIONS 
5.1 OBJECTIFS
5.2 CE QU’IL FAUT SAVOIR
5.3 TRAVAIL A REALISER
T.P. N° 6 – POLYMORPHISME 
6.1 OBJECTIFS
6.2 CE QU’IL FAUT SAVOIR
6.3 TRAVAIL A REALISER
CONCLUSION

Cours gratuitTélécharger le cours complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *