Vol.030 [2003/05/26 Mon]
「オブジェクト指向」
最近のソフトウエア開発の重要な要素のひとつに
「オブジェクト指向」があります。
今回はこの「オブジェクト指向」について紹介したいと思います。
「オブジェクト指向」と一口に言ってもそれを使う立場で、
指すものが変わってきますが、一般的にもわかりやすい範囲を
簡単にお話したいと思います。
「オブジェクト指向」は
・「オブジェクト」
・「属性」
・「振舞い」
に分けることができます。
「オブジェクト」とは
比較的抽象的な「物」を指します。
例えば、人間、車、犬とか動物だったり単なる物だったり
概念的なもの(打合わせ、相談)...さまざまな「物」です。
ただここでポイントなのは
「抽象的過ぎても、具体的過ぎてもいけない」事です。
「属性」とは
オブジェクトの大きさ、色、重さ、など固有の特徴を表します。
ほかの言い方では「プロパティ」とも言います。
定義したオブジェクトを具体的なものにします。
「振舞い」とは
物に対する操作や動作を指します。
何かをきっかけにオブジェクト自ら発する振舞い、
外から命令したり操作することで起きる振舞いがあります。
ほかの言い方では「メソッド」とも言います。
ソフトウエアを開発するにあたり、
この考え方に沿って開発することで、
生産性、保守性、「操作性」を向上させようというものです。
たとえば、新しい「自動車」を作るとします。
この場合、オブジェクトとして「自動車」という物がすでにあれば
それに今回作る「新しい自動車」固有の特徴を与えます。
全長=3.5m
全幅=1.6m
車高=1.3m
色=赤
重さ=800Kg
排気量=2,000cc
ドア=2ドア
:
基本的な「自動車」の設計図は「オブジェクト」にあるので
あとは今回の特徴を定義すればよいのです。
そして「振舞い」
「前進」「後退」「右折」「左折」などの基本動作は
「オブジェクト」に定義済みですのでこれを使うだけ。
これで「新しい自動車」は完成です。
しかし、
「これだけではあまり変わり映えがしない新しい自動車
になってしまう、今回はオープンカーにしたいんだ」
という場合は、オブジェクトの基本は引き継いで新しいオブジェクトを
定義する(継承と言います)なんてことも許されます。
もちろん新しい属性、振舞いも追加できます。
こんな感じでソフトウエアを作っていきましょうっていうのが
「オブジェクト指向」です。
先にも書きましたが「オブジェクト」をどこまで定義するかが重要で、
オブジェクトが抽象的過ぎると属性で付加する項目が増えてしまったり、逆に
具体的過ぎると汎用性がなくなりオブジェクトにした意味がなくなります。
またどんな「属性」や「振舞い」を定義するかで、
使い易くも、使いにくくもなります。
どのように定義すれば良いか...?
それは対象物によって、或いはその使い方によって変わるので
答えは有るような、無いようなものなのです。
この辺がソフトウエア開発者のセンスの分かれ目になると思われます。
皆さんがよく使われているWindowsもオブジェクト指向で出来ています。
その証拠に「プロパティ」画面で固有の属性を変えたり、
メニューバーからさまざまな振舞いを命令しているわけです。
■作業部屋プチ改装!
ミーティングコーナー(笑っちゃうぐらい)を
ちょっとだけお洒落に改装。
ガラステーブルなので、
光学式マウスはマウスパッドなしでは使えません(^^;
■ジュビロ磐田首位死守!
J1は7月5日(土)まで試合はお預けです。
藤田俊哉選手はオランダに行くのだろうか...?
応援したい気持ちと、残ってJ1で活躍してもらいたい気持ち半分づつ。
お〜〜俊哉っ!おおレッツゴ〜俊哉っ!!
HOME
かんばせーしょん