014-004-006
protected修飾子:継承とカプセル化
上級
問題説明
protected修飾子:継承とカプセル化
この問題では: protectedフィールドを持つBankAccountクラスと、それを継承したSavingsAccountクラスを作成し、標準入力から入金額と金利を読み込み、入金・利息計算後の残高を標準出力に表示するプログラムを作成します。
学習目標: protectedアクセス修飾子を使った継承階層内でのフィールド共有を理解する
概要
protected修飾子は、同じパッケージ内または子クラスからアクセス可能なアクセスレベルです。privateとpublicの中間的な位置づけで、継承を前提とした設計に使用します。
仕様
親クラスBankAccountを作成:
- protectedフィールド
balance(残高、初期値0) deposit(int amount)メソッド:残高に加算getBalance()メソッド:残高を返す
子クラスSavingsAccountを作成:
BankAccountを継承addInterest(double rate)メソッド:利息を計算して残高に加算(balance × rate)- protectedフィールド
balanceに直接アクセス
- protectedフィールド
Mainクラスで:
- 標準入力から入金額(整数)と金利(小数)を読み込む
- SavingsAccountインスタンスを作成
- 入力された金額を入金
- 入力された金利で利息を追加
- 残高を出力
入力形式
入金額
金利
出力形式
Balance: <残高>
