Javaプログラミング基礎

演習問題 (基礎クラス向け)

解答は

に提出しなさい。ソースファイル (〜.java) のみを提出。 gFTP 等を使い ftp を用いて提出しなさい。

問題1 (Beginners')

次のクラス定義は、 クラスを用いたプログラムの最初の回の演習問題 で作成した PETBottle である。

class PETBottle {
    private String name;
    private int volume;

    public void setName(String n) {
	name = n;
    }

    public String getName() {
	return name;
    }

    public void setVolume(int v) {
	volume = v;
    }

    public int getVolume() {
	return volume;
    }

    public void drunk(int drinked) {
	volume = volume - drinked;
    }
}

このクラスを継承し ジュースの継ぎ足しができるペットボトルのクラス RefillablePETBottle を作成しなさい。 属性とメソッドの宣言において、 適切なアクセス修飾子 (public/protected/private) についても考えること。

RefillablePETBottle クラスには、 ジュースを追加する refill メソッドを作成し、 引数で与えられた量が追加されるようにする。

クラス RepeatDrinker に main メソッドを作成し、 RefillablePETBottle を用いて ジュースを飲んだり、継ぎ足したりする様子が表示されるようにしなさい。 (ファイル名: RepeatDrinker.java)

プログラムの大まかな構成は以下のとおりである。

class RepeatDrinker {
    public static void main(String[] args) {

        // RefillablePETBottle を用い、ジュースを飲んだり、
        // 継ぎ足したりする様子をプログラムとして表す

    }
}

class PETBottle {

    // PETBottle クラスの定義を書く

}

class RefillablePETBottle ......

    // PETBottle クラスを継承した RefillablePETBottle の定義を書く

}