Menu
Coddy logo textTech

Propriétés auto-implémentées

Fait partie de la section Programmation Orientée Objet du Journey C# de Coddy — leçon 10 sur 70.

Les propriétés auto-implémentées vous permettent de déclarer des propriétés sans écrire de champs de stockage explicites. Le compilateur crée automatiquement un champ privé masqué en arrière-plan.

Au lieu d'écrire ce code verbeux :

public class Product
{
    private string name;
    
    public string Name
    {
        get { return name; }
        set { name = value; }
    }
}

Vous pouvez simplement écrire :

public class Product
{
    public string Name { get; set; }
    public decimal Price { get; set; }
    public int Quantity { get; set; }
}

Vous pouvez également définir des valeurs par défaut directement dans la déclaration :

public class Product
{
    public string Name { get; set; } = "Unnamed";
    public decimal Price { get; set; } = 0.0m;
    public bool IsAvailable { get; set; } = true;
}

Les propriétés auto-implémentées sont idéales lorsque vous n'avez pas besoin de validation ou de logique personnalisée dans le getter ou le setter. Elles gardent vos classes propres et réduisent considérablement le code répétitif.

challenge icon

Défi

Facile

Construisons un système d'inventaire simple en utilisant des propriétés auto-implémentées pour suivre les articles dans un magasin.

Vous allez créer deux fichiers pour organiser votre code :

  • Item.cs : Définissez une classe Item dans l'espace de noms Inventory avec des propriétés auto-implémentées pour Name (string), Price (decimal), et InStock (bool). Définissez des valeurs par défaut : Name doit avoir pour valeur par défaut "Unknown", Price la valeur 0.0m, et InStock la valeur true.
  • Program.cs : Dans votre fichier principal, créez deux objets Item en utilisant des initialiseurs d'objets. Lisez le nom et le prix de chaque article à partir de l'entrée, puis affichez les détails de chaque article.

Vous recevrez quatre entrées :

  • Le nom du premier article
  • Le prix du premier article
  • Le nom du deuxième article
  • Le prix du deuxième article

Affichez chaque article dans ce format :

Item: {Name}, Price: {Price}, In Stock: {InStock}

Par exemple, si les entrées sont Laptop, 999.99, Mouse, et 25.50, la sortie devrait être :

Item: Laptop, Price: 999.99, In Stock: True
Item: Mouse, Price: 25.50, In Stock: True

Aide-mémoire

Les propriétés auto-implémentées vous permettent de déclarer des propriétés sans écrire de champs d'appui explicites. Le compilateur crée automatiquement un champ privé caché.

Syntaxe de base :

public class Product
{
    public string Name { get; set; }
    public decimal Price { get; set; }
    public int Quantity { get; set; }
}

Définition de valeurs par défaut :

public class Product
{
    public string Name { get; set; } = "Unnamed";
    public decimal Price { get; set; } = 0.0m;
    public bool IsAvailable { get; set; } = true;
}

Les propriétés auto-implémentées sont idéales lorsque vous n'avez pas besoin de validation ou de logique personnalisée dans l'accesseur (getter) ou le mutateur (setter).

Essayez vous-même

using System;
using Inventory;

class Program
{
    public static void Main(string[] args)
    {
        // Lire les entrées pour le premier article
        string name1 = Console.ReadLine();
        decimal price1 = Convert.ToDecimal(Console.ReadLine());
        
        // Lire les entrées pour le deuxième article
        string name2 = Console.ReadLine();
        decimal price2 = Convert.ToDecimal(Console.ReadLine());
        
        // TODO: Créer deux objets Item en utilisant des initialiseurs d'objet
        // Définir les propriétés Name et Price à partir des valeurs d'entrée
        
        // TODO: Afficher les détails de chaque article au format :
        // Item: {Name}, Price: {Price}, In Stock: {InStock}
    }
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Programmation Orientée Objet