オブジェクト指向プログラミング(演習3回目)


以下の課題を解け. 必要に応じて講義資料を参考にすること.講義資料は ここにある. 課題の提出期限および提出方法は以下の通りとする.

課題1:

Exercise9 という名前のプロジェクトを作成し,その中に Main という名前のメインクラスを作成せよ.
次に,同じプロジェクトの中に Person という名前のメインでないクラスを作成し,以下のように書き換えよ.

public class Person {
   String name;		// 名前

   void setName(String n) {
      name = n;
   }
   String getName() {
      return name;
   }
   void playGame() {
   }
}

さらに,以下のプログラムを参考に Main クラスの空白部分を埋めて, 生成された Person クラスの2つのインスタンスに対し,
1つには "バイデン" という名前が, もう1つには "プーチン" という名前が設定されるように書き換えよ.
課題は,完成した Main クラスのソースコードのみ提出すること.

public class Main {

   /**
    * @param args
    */
   public static void main(String[] args) {
      Person p1 = new Person();
      Person p2 = new Person();  
      [ここにコードを書く(複数行可)]
      System.out.println(p1.getName());
      System.out.println(p2.getName());
   }
}

課題2:

課題1で作成した Exercise9 プロジェクトの中に Person クラスの子クラスとして, Member クラスと Guest クラスを作成し,
以下のように書き換えよ.
次に,Main クラス の main() メソッドを書き換え, その中で Member クラスのインスタンスと Guest クラスの
インスタンスをそれぞれ1つずつ作成し, Member クラスのインスタンスに "バイデン" という名前を, Guest
クラスのインスタンスに "プーチン" という名前を設定するようにせよ.
課題は,完成した Main クラスのソースコードのみ提出すること.

public class Member extends Person {
   void playGame() {
      System.out.println(name + "さんはポケモンGOで課金して遊ぶ");
   }
}
public class Guest extends Person {
   void playGame() {
      System.out.println(name + "さんはポケモンGOで無料で遊ぶ");
   }
}

課題3:

課題2で書き換えた Exercise9 プロジェクト中の Main クラスの main() メソッドをさらに書き換え,
Member クラスとGuest クラスのそれぞれのインスタンスの playGame() メソッドを呼び出して,
"バイデンさんはポケモンGOで課金して遊ぶ", "プーチンさんはポケモンGOで無料で遊ぶ"
と表示されるようにせよ.
課題は,完成した Main クラスのソースコードのみ提出すること.

課題4(自由課題):

自由課題です.
JFrameを用いたJavaプログラムの例を作成せよ.可能な限りイベントハンドラを用いよ.