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
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);
}
}
19.95S'entraîner avec le débogueur
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