Principe d'encapsulation [Résolu]

cs_emmanuel9 903 Messages postés mercredi 23 février 2005Date d'inscription 16 juin 2010 Dernière intervention - 15 juin 2006 à 15:08 - Dernière réponse : Nikoui 794 Messages postés vendredi 24 septembre 2004Date d'inscription 19 août 2008 Dernière intervention
- 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
dgouttegattat 129 Messages postés mardi 22 novembre 2005Date d'inscription 30 décembre 2007 Dernière intervention - 15 juin 2006 à 15:25
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'.

Merci dgouttegattat 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 72 internautes ce mois-ci

Commenter la réponse de dgouttegattat
Meilleure réponse
cs_Bidou 5507 Messages postés dimanche 4 août 2002Date d'inscription 20 juin 2013 Dernière intervention - 15 juin 2006 à 15:51
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

Merci cs_Bidou 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 72 internautes ce mois-ci

Commenter la réponse de cs_Bidou
Meilleure réponse
Nikoui 794 Messages postés vendredi 24 septembre 2004Date d'inscription 19 août 2008 Dernière intervention - 15 juin 2006 à 16:10
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)

Merci Nikoui 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 72 internautes ce mois-ci

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

Le bon mot.

::|The S@ib|:: MVP C#.NET
Commenter la réponse de TheSaib
Nikoui 794 Messages postés vendredi 24 septembre 2004Date d'inscription 19 août 2008 Dernière intervention - 16 juin 2006 à 09:45
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.