Objektorientiertes C#

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

C#
Code ausführen →
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);
    }
}
Ergebnis der Ausführung
19.95

Mit dem Debugger üben

Setze einen Haltepunkt auf eine wichtige Zuweisung oder Bedingung, klicke auf Debug und sieh dir die lokalen Werte an, bevor du zur nächsten Zeile gehst.

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