C# orienté objet

Propriétés et encapsulation en C#

Dans cette leçon, vous allez protéger un objet contre les valeurs invalides grâce à des propriétés avec validation.

Introduction

L'encapsulation consiste à garder les données à l'intérieur de l'objet et à ne permettre leur modification que de façon contrôlée. En C#, les propriétés permettent d'écrire une validation au moment de l'affectation, tandis que le code utilisateur garde une syntaxe simple, comme pour une variable ordinaire.

Le champ _price est private, on ne peut donc pas y accéder directement depuis l'extérieur. La propriété Price lit et écrit à travers ce champ, et sa partie set n'accepte que des valeurs positives ou nulles, en levant ArgumentOutOfRangeException si le prix est négatif. Un Product n'a donc jamais un prix incorrect, et la valeur 19.95 s'affiche normalement.

Exemple C# exécutable

C#
Exécuter le code →
Program.cs
using System;

class Product
{
    private decimal _price;
    public decimal Price
    {
        get => _price;
        set => _price = value >= 0 ? value : throw new ArgumentOutOfRangeException();
    }
}

class Program
{
    static void Main()
    {
        var product = new Product { Price = 19.95m };
        Console.WriteLine(product.Price);
    }
}
Résultat de l’exécution
19.95

S'entraîner avec le débogueur

Placez un point d'arrêt sur une affectation ou une condition importante, cliquez sur Debug et inspectez les valeurs locales avant de passer à la ligne suivante.

S'entraîner avec un défi

Utilisez le contenu de cette leçon pour résoudre un vrai problème. Chaque défi s'exécute dans le navigateur, avec des tests instantanés et une revue par l'IA.

Tous les défis