Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Langue C

Maîtriser les propriétés en C# : guide complet avec accesseurs get/set

Les propriétés sont des membres nommés de classes, structures et interfaces. Les variables/méthodes membres sont appelées champs. Les propriétés étendent les champs et s'utilisent avec la même syntaxe. Elles utilisent des accesseurs pour lire, écrire ou manipuler les valeurs des champs privés.

Les propriétés ne nomment pas des emplacements de stockage. Elles ont des accesseurs qui lisent, écrivent ou calculent leurs valeurs.

Accesseurs

L'accesseur contient les instructions exécutables pour obtenir (get) ou définir (set) la propriété. Peut avoir get, set, ou les deux.

Exemple


// Propriété Code (string)
public string Code
{
    get { return code; }
    set { code = value; }
}

// Propriété Nom (string)
public string Nom
{
    get { return nom; }
    set { nom = value; }
}

// Propriété Age (int)
public int Age
{
    get { return age; }
    set { age = value; }
}

value est le mot-clé contextuel représentant la valeur assignée dans le set.

Exemple complet


using System;

namespace TutorielPoint
{
    class Etudiant
    {
        private string code = "N.A";
        private string nom = "inconnu";
        private int age = 0;
        
        public string Code
        {
            get { return code; }
            set { code = value; }
        }
        
        public string Nom
        {
            get { return nom; }
            set { nom = value; }
        }
        
        public int Age
        {
            get { return age; }
            set { age = value; }
        }
        
        public override string ToString()
        {
            return "Code = " + Code + ", Nom = " + Nom + ", Age = " + Age;
        }
    }
    
    class DemoExemple
    {
        public static void Main()
        {
            Etudiant e = new Etudiant();
            e.Code = "001";
            e.Nom = "Zara";
            e.Age = 9;
            
            Console.WriteLine("Info Étudiant : {0}", e);
            
            e.Age += 1;
            Console.WriteLine("Info Étudiant : {0}", e);
            
            Console.ReadKey();
        }
    }
}

Résultat :


Info Étudiant : Code = 001, Nom = Zara, Age = 9
Info Étudiant : Code = 001, Nom = Zara, Age = 10

Propriétés automatiques (C# 3.0+)

Syntaxe simplifiée quand pas de logique supplémentaire :


public string Nom { get; set; }
public int Age { get; set; }

Le compilateur génère le champ de support automatiquement.

Propriétés abstraites

Une classe abstraite peut avoir une propriété abstraite, implémentée dans la classe dérivée.


public abstract class Personne
{
    public abstract string Nom { get; set; }
    public abstract int Age { get; set; }
}

class Etudiant : Personne
{
    private string code = "N.A";
    private string nom = "N.A";
    private int age = 0;
    
    public string Code { get { return code; } set { code = value; } }
    
    public override string Nom
    {
        get { return nom; }
        set { nom = value; }
    }
    
    public override int Age
    {
        get { return age; }
        set { age = value; }
    }
}

Bonnes pratiques

Langue C

  1. Le pouvoir antimicrobien de l'argent : comment ce métal combat bactéries, champignons et virus
  2. Propriétés arithmétiques : associativité, commutativité et distributivité expliquées
  3. Règles des exposants : propriétés clés pour la manipulation algébrique
  4. Alliage molybdène-hafnium-carbone (MHC) – Alliage renforcé par particules pour très haute température
  5. AMPCO® 25 Forgings : Alliage haute performance pour matériaux de matrices supérieurs
  6. UGICHROM® 4462 – Revêtement chrome micro-fissuré haute performance pour systèmes hydrauliques et pneumatiques
  7. UGICHROM® 4362 – Acier inoxydable premium chrome micro-fissuré pour applications hydrauliques et pneumatiques
  8. Bainidur® 1300 : Alliage de forgeage haute résistance, faible risque de fissuration
  9. Bainidur® 7980 CN : Acier faiblement allié premium pour cémentation et carbonitruration supérieures