色々な形をしたクッキーをオブジェクトで扱ってみよう。クッキーごとに、「製造日」を決めて管理したいので、MyCookie オブジェクトを定義する。また、クッキーは面積に応じた値段が付けられるものとする。面積 1 に対して値段は 3 とする。
クッキーの形は、「丸 MaruCookie」、「三角形 SankakuCookie」、「四角形 ShikakuCookie」があるものとする。形状を指定するパラメータについて、丸の場合は半径、三角形と四角形の場合は底辺と高さとする。
具体的には、次のメソッドを作成せよ。
クッキーを入れる袋を扱うオブジェクト MyCookieBag を定義しよう。このオブジェクトは、1個以上のクッキーを順序不問で格納する。次の処理をする:
Workspace 上で動作確認をする様子を示す:
b := MyCookieBag new b add: (MaruCookie new pdate: 18; radius: 5) b add: (SankakuCookie new pdate: 18; width: 4; height: 3) b add: (SankakuCookie new pdate: 18; width: 4; height: 3) b add: (ShikakuCookie new pdate: 20; width: 4; height: 4) Transcript show: b showPrice; cr Transcript show: b showBestBeforeDate; cr |
上記の課題に対するプログラムと実行結果を提出せよ。
プログラムについて、クラスの定義とメソッド定義を示し、要所にコメントを手書きすること。実行結果は、上記の確認の様子に加えて、工夫した点がわかるように示し、必要に応じてコメントを手書きすること。
5月24日の授業開始時に集めます。