Ein gekapseltes Bankkonto erstellen in C#
In dieser Lektion schützt du den Kontostand mit einer von außen schreibgeschützten Eigenschaft und einer geprüften Einzahlungsmethode.
Einführung
Diese Übung wendet die Kapselung an: Statt von außen den Kontostand direkt ändern zu lassen, bietet die Klasse nur gültige Operationen wie das Einzahlen an. So werden Geschäftsregeln, etwa dass keine negativen Beträge eingezahlt werden dürfen, immer eingehalten.
Die Eigenschaft Balance hat ein private set, von außen kann man sie also nur lesen, aber nicht zuweisen. Die Methode Deposit prüft, dass der Betrag größer als 0 ist, und löst sonst eine ArgumentOutOfRangeException aus. Das Konto wird mit 100 eröffnet, es werden 50 eingezahlt, deshalb wird ein Kontostand von 150 ausgegeben.
Ausführbares C#-Beispiel
using System;
class BankAccount(decimal opening)
{
public decimal Balance { get; private set; } = opening;
public void Deposit(decimal amount)
{
if (amount <= 0) throw new ArgumentOutOfRangeException(nameof(amount));
Balance += amount;
}
}
class Program
{
static void Main() { var account = new BankAccount(100); account.Deposit(50); Console.WriteLine(account.Balance); }
}
150Mit 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