オブジェクトとプロパティ

情報学 | 2007/08/02

この資料は、オブジェクトとプロパティという概念がどういうものか、ということについて説明するものです。

1. ソフトウェアとオブジェクト

ワープロソフト、表計算ソフトのように大規模なソフトウェアは、オブジェクトと言われる「要素」の集まりとしてできあがっています。したがって、ソフトウェアについて理解するためにもっとも重要なのが、「オブジェクト」について理解することなのです。たとえば、ある操作を行おうと思ったとします。このとき、その機能がどのオブジェクトに関係するかということを知らないと、操作をうまく行うことができません。ソフトウェアを使いこなすとは、そのソフトウェアの「オブジェクト」についてきちんと理解することだと言っても過言ではないのです。

たとえば、ワープロソフトとして有名なMicrosoft Word(以下 Word)の場合、もっとも基本的なオブジェクトは、アプリケーション→ドキュメント→セクション→段落→文字の5段階です。この中でも特に重要なものが、段落と文字のオブジェクトですが、応用的な操作をしようとすれば、セクションを始め、それ以外のオブジェクトも重要になります。

また、オペレーティングシステムとしてのWindowsには、マイコンピュータ(Vistaではコンピュータ)→ドライブ→フォルダ(複数)→ファイルという4種類のオブジェクトを基本とし、コントロールパネルやネットワークなどのオブジェクトがあります。Windowsを知るとは、こうしたオブジェクトの関係を理解することにほかならないのです。

2. オブジェクトの階層性

オブジェクトを考える上で重要なことの一つは、それが階層的に存在しているということでしょう。たとえば、Wordは一つのアプリケーションに多くのドキュメント(文書)を開くことができます。また、一つのドキュメントには多くのセクションを、一つのセクションには多くの段落、一つの段落には多くの文字を持つことができるのです。こうしたオブジェクトの性質を、オブジェクトの階層性と言います。

3. オブジェクトとプロパティ

さて、オブジェクトのもう一つの重要な性質として、「プロパティ」を持つこと、そして、オブジェクトはプロパティによって完全に表されるということがあります。このことを考えるために、オブジェクトを人間と比べてみることにしましょう。

プロパティというのは言い換えると「属性」です。たとえば、皆さんは、「○○大学の学生」であり、「1年生」であり「××市の住民」であるかもしれません。また、「情報学」の受講生であるかもしれません。これはそれぞれれっきとした皆さんのプロパティです。しかし、皆さんの性質をこうしたプロパティだけで表すことはできないでしょう。たしかに、人間はプロパティを持ち、プロパティで表すことができるわけですが、人間をプロパティだけで表すことはできないのです。

これと正反対なのが、「オブジェクト」です。たとえば、この大学の事務に関するコンピュータには、皆さん一人一人の情報に関する「オブジェクト」があり、そのプロパティとして、皆さんの情報、住所や電話番号、単位の履修状況などが保存されています。こうしたオブジェクトについて言えば、それを表すのはオブジェクトの「プロパティ」以外に何ものもありません。「オブジェクト」は、「プロパティ」で全てを表すことができる。このことによって、コンピュータの情報処理が可能になっています。

4. プロパティと階層性

ここでプロパティの具体例について考えてみることにしましょう。

ワープロソフトの場合、プロパティの中でももっとも代表的なものは「設定」についてのプロパティ(設定プロパティ)です。たとえば、段落というオブジェクトは、「配置」「インデント」などの、プロパティを持ちます。また、文字というオブジェクトは、「フォントサイズ」「フォント」「太字」「斜体」などのプロパティを持ちます。これらのプロパティを適切に操作することは、ワープロソフトを使う上で不可欠のことと言えるでしょう。

一方、書式設定と並んで重要なプロパティとして、そのオブジェクトの要素となるオブジェクトとしてのプロパティがあるのです。たとえば、一つのドキュメント(文書)は、複数のセクションを持つことができます。一つのセクションはは複数の段落を持つことができます。また、一つの段落は、複数の文字を要素として持つことができます。ここで、ドキュメントにとってセクション、セクションにとっての段落、段落にとっての文字はそれぞれ、オブジェクトとの要素となるプロパティ(要素プロパティ)です。

このように、オブジェクトは、「設定」と「要素」の二つの種類のプロパティを持つのであり、これをきちんと理解し、操作できるようになることが、ソフトウェアを理解するための近道なのです。

(ちなみに、コンピュータの内部で、この両者は厳密に区別されるわけではなく、うまく区分できないオブジェクトもあります。この資料では便宜的に両者の区別を設けています)

5. プロパティとデータ

オブジェクトはプロパティで全て表すことができ、プロパティ以外、オブジェクトを表すものは何もありません。ここで、オブジェクトが持つプロパティの全体を、そのオブジェクトの「データ」と呼ぶことがあります。

たとえば、ワープロソフトの段落の場合、「配置」や「インデント」などの「設定プロパティ」と、文字などの「要素プロパティ」によって、その性質を全て表すことができます。これらのプロパティの全体が、その段落を表すデータです。

これは特に「ドキュメント」に関して重要です。ドキュメントの全てのプロパティ(これには、セクション、段落、文字の全てのデータを含みます)、すなわち、ドキュメントのデータは「ファイル」に変換され、保存したりメールで送ったりすることができるからです。

このことは、オブジェクトをオブジェクトではない「人間」と比べると違いが明確になります。人間はプロパティを持ちますが、プロパティが全てではありません。したがって、人間についてのデータを作ることはできますが、データによって人間を完全に表すことは不可能なのです。したがって、人間をファイルとして保存したり、メールで送ったりすることはできません。当たり前のことだと思うかも知れませんが、これは「オブジェクト」の性質を考える上で、非常に重要なことなのです。

はてなブックマークに追加 del.icio.usに追加 POOKMARK Airlinesに登録 livedoorクリップへ追加 @niftyクリップへ追加 Buzzurlにブックマーク newsingにピックアップ Choixに投稿 Furlへ追加 Blinklistへ追加 Redditに投稿 twitterでReTweet

固定リンク | コメント(0件) | トラックバック(0件)

コメント

コメントを書く

トラックバック

この記事のトラックバックURL:
(トラックバックは記事投稿者が公開するまで表示されません。)

情報学ブログをRSSで購読する

Googleで購読 はてなRSSで購読 livedoor Readerで購読 Bloglinesで購読 My Yahoo!に追加

その他のRSSリーダー

管理人のつぶやき