Principe d'encapsulation [Résolu]

Messages postés
903
Date d'inscription
mercredi 23 février 2005
Dernière intervention
16 juin 2010
- - Dernière réponse : Nikoui
Messages postés
794
Date d'inscription
vendredi 24 septembre 2004
Dernière intervention
19 août 2008
- 16 juin 2006 à 09:45
Bonjour à tous,

Quand on crée une classe en c# est ce encore d'actualité d'utilisé un accesseur et un mutateur de données pour accéder au champs private de la classe ?

ex :

class personne
{
private string nom ;
public string get_Nom() { return nom ; }
publiv void set_Nom(string nom) {this.nom = nom ; }

}

Par avance, merci
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
Messages postés
129
Date d'inscription
mardi 22 novembre 2005
Dernière intervention
30 décembre 2007
7
3
Merci
Bonjour,

Utiliser des accesseurs et des mutateurs est toujours d'actualité, mais en C# on utilise pour cela des propriétés et non des méthodes. Cela donne quelque chose comme ça :
<hr />class Personne
{
   private string nom;
  
   public string Nom
   {
      get { return nom; }
      set
      {
         // value contient la valeur affectée à la propriété
         nom = value;
      }
}<hr />
Tu peux alors utiliser Nom comme s'il s'agissait d'un champ. Si tu accèdes à ce champ en lecture, le contenu du bloc 'get' sera exécuté. Si tu y accèdes en écriture, ce sera le contenu du bloc 'set'.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 119 internautes nous ont dit merci ce mois-ci

Commenter la réponse de dgouttegattat
Messages postés
5507
Date d'inscription
dimanche 4 août 2002
Dernière intervention
20 juin 2013
58
3
Merci
Salut,
Je dirais que non seulement c'est encore d'actualité, mais en plus c'est une pratique qui est très recommandée (plus propre et plus sécurisé que de déclarer des champs publics!)

VC# forever
=13319

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 119 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_Bidou
Messages postés
794
Date d'inscription
vendredi 24 septembre 2004
Dernière intervention
19 août 2008
7
3
Merci
Je rejoins Bidou, les variables locales doivent être private (et même pour les variables "protected", il est fortement recommandé de les laisser en private, et de mettre les accesseurs en protected, sachant qu'en .Net2, les accesseurs Get et Set peuvent avoir des "visibilités" différentes) (pas sur que le mot "visibilité soit le bon)

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 119 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Nikoui
Messages postés
2369
Date d'inscription
mardi 17 avril 2001
Dernière intervention
26 décembre 2007
16
0
Merci
Cà l'est.

Le bon mot.

::|The S@ib|:: MVP C#.NET
Commenter la réponse de TheSaib
Messages postés
794
Date d'inscription
vendredi 24 septembre 2004
Dernière intervention
19 août 2008
7
0
Merci
Merci j'avais comme un doute :)
Commenter la réponse de Nikoui

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.