Getsuyodev, Programming is mainly used when constructing an application. Programming requires knowledge of application domains, algorithms, and programming language expertise. Programming can be developed in different logic based on developer knowledge.

C Sharp – Visibilité des membres

Programmation en C# (C Sharp)



Tous les langages objets possèdent des spécificateurs de visibilité pour les membres d’une classe (attributs et méthodes), ci-dessous le tableau indique leur syntaxe en C# et leur signification :

mot – clefvisibilité associée
  privateLes attributs et les méthodes d’une classe précédés du mot clef private ne sont visibles que dans la classe seulement.
  protectedLes attributs et les méthodes d’une classe précédés du mot clef protected dérivées de cette classe.
  internalLes attributs et les méthodes d’une classe précédés du mot clef internal sont visibles par toutes les classes inclues dans le même assembly.
  publicLes attributs et les méthodes d’une classe précédés du mot clef public sont visibles par toutes les classes de tous les modules.
  pas de mot clef Les attributs et les méthodes d’une classe non précédés d’un mot clef sont private et ne sont visibles que dans la classe seulement.
class clA 
{
  private int x = 12;
  int y = 10;
  protected string Id = "xxxxx";
  internal int a = 100;
  public string nom = "exemple";
}

Il est possible dans une classe fille, de masquer un attribut d’une classe mère en utilisant le mot clef new.

class clB : clA 
{
  public new string Id = "xxxxx";
}

Compilez le programme de gauche.



using System;

class clA
{
private int x = 12;
int y = 10;
protected string Id = "xxxxx";
internal int valeur = 100;
public string nom = "départ";
}

class clB : clA
{
public new string Id; // enlevez le mot new et observez le message du compilateur
internal new int valeur = 100; // enlevez le mot new et observez le message du compilateur
}

class Exercice
{
public static void Main(string[ ] args) // méthode principale de lancement de l'exécution
{
clA  objA  = new clA( );
objA.x = -1; // inaccessible car déclaré private
objA.y = -2; // inaccessible car private par défaut
objA.Id = "abcde"; // inaccessible car déclaré protected
objA.valeur = -3; // accessible car déclaré internal
objA.nom = "autre objet A"; // accessible car déclaré public

clB  objB  = new clB( );
objB.valeur = -100;// accessible car hérité internal
objB.nom = "autre objet B";// accessible car hérité public

Console.ReadLine();
}
}



Comments are closed, but trackbacks and pingbacks are open.

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More