演習 3-1 (個人): 以下の仕様のプログラムを実行しましょう
仕様: Human は人間 Taro は客で Human を継承している Hanako はゲーム屋で を継承している Taro は Hanako に Game を注文する Hanako が Souko から Game を取り出す Hanako は Taro に Game を渡す Taro は Game で遊ぶ 結果: 楽しい
フォルダ「CDIAG_3_1」を新規作成し、その中に移動します
Game.java を新規作成し、以下のソースコードを貼り付けてください。
public class Game{
public void asobu(){
System.out.println( "楽しい" );
}
}
Souko.java を新規作成し、以下のソースコードを貼り付けてください。
public class Souko{
private Game game;
// コンストラクタ
public Souko(){
this.game = new Game();
}
public Game toridasu(){
return this.game; // インスタンス game をそのまま返す
}
}
Human.java を新規作成し、以下のソースコードを貼り付けてください。
public class Human {
// 中身は空
}
Hanako.java を新規作成し、以下のソースコードを貼り付けてください。
public class Hanako extends Human{
private Souko souko;
// コンストラクタ
public Hanako(){
this.souko = new Souko();
}
public Game chumon(){
return this.souko.toridasu(); // souko から受け取った game のインスタンスをそのまま返す
}
}
Taro.java を新規作成し、以下のソースコードを貼り付けてください。
public class Taro extends Human{
private Game game;
// コンストラクタ
public Taro(){
Hanako hanako = new Hanako();
this.game = hanako.chumon(); // hanako はフィールドではないので this. は不要
this.game.asobu();
}
}
Main.java を新規作成し、以下のソースコードを貼り付けてください。
public class Main{
public static void main(String[] args) {
Taro taro = new Taro();
}
}
実行します。
提出物はありません。
演習 3-2 (個人): 「演習3-1」のクラス図を描いてみましょう。
任意のドローツールを起動します。
「演習3_1」のクラス図を描いてください。
「CDIAG_3_2」の名前で保存して下さい拡張子はドローツールによります)。
指定場所に「画像」を貼り付けて下さい。
演習 3-3 (個人): 「演習3-1」のシーケンス図を描いてみましょう。
任意のドローツールを起動します。
「演習3_1」を実行した際のシーケンス図を描いてください。
「CDIAG_3_3」の名前で保存して下さい拡張子はドローツールによります)。
指定場所に「画像」を貼り付けて下さい。