Eigenschaften und Kapselung in C#
In dieser Lektion schützt du ein Objekt mit geprüften Eigenschaften vor ungültigen Werten.
Einführung
Kapselung (encapsulation) bedeutet, Daten im Objekt zu halten und Änderungen nur auf kontrollierte Weise zu erlauben. In C# kannst du mit Eigenschaften eine Prüfung direkt beim Zuweisen eines Werts schreiben, während die verwendende Stelle trotzdem die einfache Schreibweise wie bei einer normalen Variablen nutzt.
Das Feld _price ist private, deshalb kann man von außen nicht direkt darauf zugreifen. Die Eigenschaft Price liest und schreibt über dieses Feld, und der set-Teil akzeptiert nur nicht negative Werte und löst bei einem negativen Preis eine ArgumentOutOfRangeException aus. So hat ein Product nie einen falschen Preis, und der Wert 19.95 wird ganz normal ausgegeben.
Ausführbares C#-Beispiel
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.95Mit dem Debugger üben
Mit einer Challenge üben
Nutze den Inhalt dieser Lektion, um ein echtes Problem zu lösen. Jede Challenge läuft im Browser, mit sofortigen Tests und einem KI-Review.
Alle Challenges