オブジェクト指向って何?

では、ちょっと上を行くプログラマーになるために、オブジェクト指向という考えについてほんの少し説明します。
この考えは結構難しいので、ホントに簡単な部分だけ、基礎だけを説明します。
わからなくても大丈夫です。使っていればわかってくるもんですよ。

オブジェクト指向とは?

結構怪しげな響きの考えですが、要はオブジェクト=ものを使ってプログラミングしていく手法です。
ひとえに「もの」といってもイメージがわかないかもしれませんが...

じゃぁどうして「もの」として扱うといいのでしょう?
とりあえず身近なものとして、パソコンを例にとって見ましょう。

パソコンA
パソコンA
パソコンB
パソコンB
パソコンC
パソコンC
...と3種類のパソコンがあったとしましょう。
それで、あなたはパソコンAと作ろうとしています。

パソコンを一から作るのはかなり大変なことになるでしょう。
実際パソコンを自作する人は自分の好みの部品を買って、それを組み立てているだけです。
重要な部分はすでに出来ているのです。

ということで、マザーボードやCPU、メモリといった部品を組み合わせて作っていきます。
これらの部品が「オブジェクト」であり、パソコンが「アプリケーション」ということになります。

また、パソコンAとパソコンBに同じメモリが使われていたとしましょう。
一から作る場合は、そのメモリをパソコンAとパソコンBの分を2つ作らなくてはなりません。
ですが、使われてるのが同じなら、そのメモリの設計図を作って、大量生産してしまえばいい、というわけです。
この設計図にあたるものを、「クラス」と呼びます。
先ほど説明した「オブジェクト」は、この「クラス」を元に製作した「もの」になるわけですね。
また、面倒くさいのであれば、誰かほかの人が作った設計図からメモリをつくればいいのです。

さらに、パソコンの設計図を使ってパソコンを作るとします。
パソコンの設計図には...

こんな感じのことが書いてあったとします。こういうのにはあまり詳しくないんですが...
もちろんこの設計図(クラス)から出来るのはパソコンAのみです。
それ以外のパソコンはできません。
でも、HDDだけをバッファロー製のにしたいな〜、と思ったとき、一から作ったのなら「交換」なんて融通は利きません。
ですが、この「オブジェクト指向」の考えからいくと、変えたい部分だけ変えることが出来ます。
正確に言うと、この設計図を元に一部を変えた新しい設計図を作る、ということになります。

オブジェクト指向とは、このように、ある設計図(クラス)の一部を変えたり、あるいは新しい機能をつけたりする、という感覚です。
この場合、「パソコンBはパソコンAを継承した」といい、「パソコンAはパソコンBの親クラス(スーパークラス)」と表現します。
また、逆に「パソコンBはパソコンAの子クラス(サブクラス)」ともいいます。


メソッドとフィールド

これらはあとで詳しく説明します。
ここでは雰囲気だけ覚えればいいです。

メソッド」とは、オブジェクトの「動作」のことです。
上のパソコンで言うなら、たとえば「ファイルに保存する」や、「計算をする」といった動作がメソッドです。

フィールド」とは、オブジェクトの「特徴(属性)」のことです。
パソコンで言うと、たとえば「画面の大きさ」などです。

その程度のことだと思ってください。

index / 次へ
プログラム言語「Spinel
Copyright © 2005 - Giemsa All Rights Reserved.
NOTES Software.