オブジェクト指向 - オブジェクトAdvertisementオブジェクトとは
オブジェクト指向での主たる概念は「オブジェクト」である。
オブジェクトを直訳すると"物"という意味になる。よく「オブジェクト=物」と説明されているが、この説明は厳密にはオブジェクトの概念を正しく表していない(イメージとしては悪くはない)。 オブジェクトを一言で説明するのは難しいので、以下にオブジェクトの特徴を列挙することでイメージを捕らえやすくする。 オブジェクトは責務を持っている
それぞれのオブジェクトには責務が割り当てられている。
せきむ 1 【責務】 自分の責任として果たさねばならない事柄。つとめ。 「―を全うする」「重大な―を負う」 Goo 国語辞典より言い換えると、自分の責務以外のことは、一切意識する必要がないという事でもある。 例データベースに接続して会員の情報を検索、その結果をファイルに出力する。という一連の処理を行う場合を考えてみる。この場合、データベースに関する処理を行うオブジェクトと、ファイル操作を行うオブジェクトを定義する。データベースオブジェクトはデータベースに関する責務を保持しており、接続や問い合わせなどを行う。同じように、ファイルに関するオブジェクトはファイルに関する責務を持っていて、ファイルの読み書きなどの処理を実行する。ファイル操作のオブジェクトはデータベースオブジェクトが内部で何を行っているのか知る必要はなく、逆にデータベースオブジェクトもファイル操作オブジェクトが内部で何を行っているのか意識する必要がない。 ![]() 図1:オブジェクトと責務 オブジェクトは属性と操作を持っている
オブジェクトは責務をこなすための属性と操作を持っている。
例データベースに接続するためのオブジェクトには、ユーザー名、パスワードなどの属性と、その属性を使って処理を行う操作を持っている。オブジェクトはこの属性と操作を使用して責務を全うする。![]() 図2:属性と操作 オブジェクトは他のオブジェクトにメッセージを送信する(メッセージパッシング)
前述の通り、オブジェクトは自分の持つ責務以外のことを意識する必要がない。よって、自分自身が実現できない処理は、その処理を行う責務を持っているオブジェクトに対して処理の依頼を行う必要がある。この、オブジェクトからオブジェクトへ処理を依頼することをメッセージパッシングという。オブジェクトは他のオブジェクトに対し、メッセージを送信する。
例![]() 図3:メッセージパッシング オブジェクトは他のオブジェクトからのメッセージを受け取る
メッセージを受け取ったオブジェクトは、必要な処理を実行して結果を返す。オブジェクトは処理を依頼してきたオブジェクトについて何も知る必要がない。
オブジェクトの協調動作
上記の通り、オブジェクト指向で作られたシステムはオブジェクト同士が相互にメッセージを送ることで、オブジェクトが協調動作する。
Advertisement |
ショートカット・634トップページ・このカテゴリのトップページに戻る ・634ラボ サイト検索Y!ログール |