Masquage des données dans VB .NET
Le masquage de données est la capacité d'une classe à restreindre l'accès de ses données membres à certaines catégories de méthodes ou de classes.
Il existe deux types de données cachées dans VB .NET :
1. Encapsulation : L'encapsulation, lorsqu'elle est utilisée dans le contexte de Visual Basic .NET, est la technique consistant à regrouper des variables et des fonctions dans une classe. Tous les détails sont résumés afin que les utilisateurs aient uniquement besoin de savoir comment fonctionne la classe, et non comment elle fonctionne.
2. Modificateur d'accessibilité : Ceux-ci sont utilisés pour préciser le niveau d’accès des éléments de la classe. L'accessibilité des membres de la classe (champs, méthodes et propriétés) peut être modifiée en fonction de la portée à laquelle ils sont accessibles.
Le tableau suivant donne un aperçu des différents modificateurs d'accessibilité avec une explication de leurs portées.
| Modificateur | Portée |
|-------|-------|
| Privé | Disponible au sein de la classe uniquement. |
| Protégé | Disponible au sein de la classe, de ses classes dérivées et des amis. |
| Interne | Disponible au sein de l'assemblée. |
| Interne protégé | Disponible dans l’assembly et les classes dérivées. |
| Publique | Disponible pour toutes les autres classes du projet, les classes des différents projets d'une même solution et les classes des autres projets qui référencent cet assembly. |
| Ami | Disponible pour toutes les classes d'une même assemblée ou d'un même projet. |
| Nonhéritable | Disponible pour la classe uniquement et ne peut pas être hérité |
Exemple de masquage de données dans VBNET :
```
Client de classe publique
_id privé
_fName privé
_lName privé
_email privé
ID de propriété publique
Obtenir
Renvoyer _id
Fin Obtenir
Définir (valeur)
Si valeur <=0 Alors
Lancez un nouveau System.ArgumentException("L'ID doit être un entier positif.", "ID")
Fin si
_id =valeur
Ensemble de fin
Propriété de fin
Propriété publique Prénom
Obtenir
Retourner _fName
Fin Obtenir
Définir (valeur)
_fName =valeur
Ensemble de fin
Propriété de fin
Propriété publique Nom
Obtenir
Retourner _lName
Fin Obtenir
Définir (valeur)
_lName =valeur
Ensemble de fin
Propriété de fin
E-mail de propriété publique
Obtenir
Retourner _email
Fin Obtenir
Définir (valeur)
Si ce n'est pas le cas IsValidEmail (valeur) alors
Lancez un nouveau System.ArgumentException("Adresse e-mail invalide.", "E-mail")
Fin si
_email =valeur
Ensemble de fin
Propriété de fin
Fonction partagée privée IsValidEmail (e-mail)
Dim emailRegex As String ="^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6}$ "
Dim emailMatch As Boolean =Regex.IsMatch(email, emailRegex)
Retourner l'e-mailMatch
Fonction de fin
Fin du cours
```
Dans l'exemple ci-dessus, nous avons défini une classe nommée « Client » qui encapsule les détails du client tels que l'identifiant, le prénom, le nom et l'adresse e-mail. Nous avons également défini une méthode privée partagée nommée `IsValidEmail` qui est utilisée pour valider l'adresse e-mail. L'accessibilité des membres de la classe est contrôlée à l'aide des modificateurs d'accessibilité « Privé » et « Public ». La propriété `ID` est marquée comme `Private`, ce qui signifie qu'elle n'est pas accessible en dehors de la classe. Les propriétés `FirstName`, `LastName` et `Email` sont marquées comme `Public`, ce qui signifie qu'elles sont accessibles depuis l'extérieur de la classe.
|