009 メンバへのアクセス制御 (private修飾子)002 問題

問題

以下のクラス BankAccount があります。このクラスは、銀行口座の残高を管理します。

public class BankAccount {
    private double balance;

    // コンストラクタやメソッドなどがここに続く...

    // 問題: balanceフィールドへのアクセスを制御し、外部から直接変更できないようにしてください。
    // 同時に、balanceが負の値にならないように制御を追加してください。
}

balance フィールドへの外部からのアクセスを適切に制御し、同時に口座残高が負の値にならないようにするための手段を追加してください。

ヒント

  1. private フィールドの導入:
    • balance フィールドを private に設定します。
  2. ゲッターとセッターの導入:
  3. セッター内での制御:
    • セッターメソッド内で外部から与えられた新しい残高の値が負の値でないかを確認し、それに応じて残高の設定を行います。

これらのステップによって、BankAccount クラスは balance フィールドへのアクセスを制御し、同時に負の残高が設定されないようにします。このアプローチにより、外部からの不正なアクセスや誤った値の設定を防ぎ、クラスの安全性を確保します。

解答例

「009 メンバへのアクセス制御」問題集リスト