問題
以下のクラス BankAccount
があります。このクラスは、銀行口座の残高を管理します。
public class BankAccount {
private double balance;
// コンストラクタやメソッドなどがここに続く...
// 問題: balanceフィールドへのアクセスを制御し、外部から直接変更できないようにしてください。
// 同時に、balanceが負の値にならないように制御を追加してください。
}
balance
フィールドへの外部からのアクセスを適切に制御し、同時に口座残高が負の値にならないようにするための手段を追加してください。
ヒント
private
フィールドの導入:balance
フィールドをprivate
に設定します。
- ゲッターとセッターの導入:
balance
フィールドへのアクセスは、公開されたゲッターとセッターメソッドを介して行います。
- セッター内での制御:
- セッターメソッド内で外部から与えられた新しい残高の値が負の値でないかを確認し、それに応じて残高の設定を行います。
これらのステップによって、BankAccount
クラスは balance
フィールドへのアクセスを制御し、同時に負の残高が設定されないようにします。このアプローチにより、外部からの不正なアクセスや誤った値の設定を防ぎ、クラスの安全性を確保します。
→解答例