演習 1-1 (個人): クラス図を画像検索して見てみましょう。
「クラス図」で画像検索し、指定場所に「クラス図の画像」を貼り付けて下さい。
演習 1-2 (個人): 単一クラス図を描いてみましょう。
オブジェクト指向プログラミングの三大要素の演習で作成したOELM_2_2フォルダの中にある Score.java を開いて下さい。
任意のドローツールを起動します。
Score スーパークラスのクラス図を描いて下さい。フィールドの型、メソッドの戻り値、メソッドの引数、コンストラクタや getter/setter は省略して構いません。
「CDIAG_1_2」の名前で保存して下さい(拡張子はドローツールによります)。
指定場所に「画像」を貼り付けて下さい。
演習 1-3 (個人): 汎化のクラス図を描いてみましょう。
引き続き「OELM_2_2」のクラス図を作成します。
「CDIAG_1_2」をコピーして「CDIAG_1_3」に名前を変えて下さい(拡張子はドローツールによります)。
「CDIAG_1_3」を任意のドローツールで開いて下さい。
Taro、Hanako の単一クラス図を描いて下さい。
Score と Taro、Hanako を汎化の矢印で繋いで下さい。
指定場所に「画像」を貼り付けて下さい。
演習 1-4 (個人): 「OELM_2_2」に集約を導入してみましょう
フォルダ「OELM_2_2」をフォルダ「CDIAG_1_4」に丸ごとコピーし、その中に移動します。
MyWorld.java を新規作成し、以下のソースコードを貼り付けてください。
public class MyWorld{
private Taro taro0;
private Taro taro1;
private Hanako hanako0;
private Hanako hanako1;
private Hanako hanako2;
public MyWorld() {
System.out.println("MyWorldのコンストラクタ実行");
this.taro0 = new Taro();
this.taro1 = new Taro();
this.hanako0 = new Hanako();
this.hanako1 = new Hanako();
this.hanako2 = new Hanako();
// ※
System.out.println("MyWorldのコンストラクタ終了");
}
public void show() {
System.out.println( "taro0 の name = " + this.taro0.get_name());
System.out.println( "taro1 の name = " + this.taro1.get_name());
System.out.println( "hanako0 の name = " + this.hanako0.get_name());
System.out.println( "hanako1 の name = " + this.hanako1.get_name());
System.out.println( "hanako2 の name = " + this.hanako2.get_name());
}
}
Main.java を開き、以下のソースコードに置き換えてください。
public class Main{
public static void main(String[] args) {
MyWorld myworld = new MyWorld();
myworld.show();
}
}
実行結果:
MyWorldのコンストラクタ実行
引数なしコンストラクタ実行
引数なしコンストラクタ実行
引数なしコンストラクタ実行
引数なしコンストラクタ実行
引数なしコンストラクタ実行
MyWorldのコンストラクタ終了
taro0 の name = たろう
taro1 の name = たろう
hanako0 の name = はなこ
hanako1 の name = はなこ
hanako2 の name = はなこ
実行します。
提出物はありません。
演習 1-5 (個人): 集約のクラス図を描いてみましょう。
「CDIAG_1_4」のクラス図を作成します。
「CDIAG_1_3」をコピーして「CDIAG_1_5」に名前を変えて下さい(拡張子はドローツールによります)。
「CDIAG_1_5」を任意のドローツールで開いて下さい。
MyWorld の単一クラス図を描いて下さい。
MyWorld と Taro、Hanako を集約の矢印で繋ぎ、多重度の数字を記述して下さい。
指定場所に「画像」を貼り付けて下さい。