PHP オブジェクトコンポジション

どうも、irisawaです。

今日のPHPは、オブジェクトコンポジションというものについて学びました。

オブジェクトコンポジションとは

あるインスタンスが、クラス変数かインスタンス変数を用いて、別のインスタンスを参照するような関係の事。これを使う目的は「必要なとき自分のメソッドの中で、持っているインスタンスのメソッドを呼べる様にする為」です。

オブジェクトコンポジションを使えば、色々な事がクラスを使って表現できる様になりますね。

オブジェクトコンポジションについて学んだ後、実習に入りました。作成課題は以下の通りです。

実習課題

学校を意味するSchoolクラスを作成し、生徒を意味するStudentのインスタンスを複数参照する事が出来る様なオブジェクトコンポジションの関係を作成して下さい。
Schoolクラスには学生一覧を表示するメソッドを作成し、表示させる内容は「学籍番号、名前、学生の合計人数」が出力される様に作成して下さい。

この課題に対しての自分の作成例が、以下になります。

practice1.php

作成が終わった後、この課題を拡張させる案として次のものが出されました。

  • 学校を地域ごとに管理できる様にする。
  • 地域を指定すると、その地域ごとの学校の情報を表示させてみる。

中々難しそうなお題です。
しかし、これもオブジェクトコンポジションの関係を元に作ってみると、割と楽に作成する事が出来ました。
以下、このお題の完成例です。

practice2.php

今後も、Studentクラスに生徒情報の削除・編集、地域ごとの学生人数の表示等の機能を追加していきたいです。

—-
(2008/07/14 18:40 hirafuji追記)
動画をご覧下さい〜!

1 件のコメント so far »

  1. by スタートアップ研修記 » PHP 継承と多態性を知る。, on 07.09.08 @ 5:25 PM

     

    [...] muroiです。 今日のPHPでは前回のオブジェクトコンポジションの復習と、新たに継承を学習しました。 [...]

Comment RSS · TrackBack URI

コメントをどうぞ

名前: (Required)

eMail: (Required)

Website:

Comment:

Spam Protection by WP-SpamFree