C# 演習

C#でカプセル化された銀行口座を作る

このレッスンでは、外からは読み取り専用のプロパティと、チェック付きの入金メソッドで口座の残高を守ります。

はじめに

この練習ではカプセル化を使います。外から残高を直接変更させる代わりに、クラスは入金のような正しい操作だけを提供します。そのため、マイナスの金額は入金できないといった業務のルールが常に守られます。

プロパティBalanceのsetはprivateなので、外からは読むだけで値を代入できません。Depositメソッドは金額が0より大きいことを確認し、そうでなければArgumentOutOfRangeExceptionを投げます。口座は100で開設され、50を入金するので、表示される残高は150です。

実行できる C# の例

C#
コードを実行 →
Program.cs
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); }
}
実行結果
150

デバッガーで練習する

大事な代入や条件にブレークポイントを置いて Debug を押し、次の行に進む前にローカル変数の値を確かめましょう。

チャレンジで練習する

このレッスンの内容を使って実際の問題を解きましょう。各チャレンジはブラウザで動き、すぐにテストされ、AI のレビューも受けられます。

すべてのチャレンジ