利用者:Trashtoy/オブジェクト指向 (情報工学)

情報工学におけるオブジェクト指向とは、いわゆる芸術作品の「オブジェ」をデータとして扱うプログラミング手法である。

クラス編集

オブジェクト指向のプログラミングに必須なものに「クラス」がある。そこで、開発環境として学校を用いることになる。クラスが存在しさえすれば小・中・高校のどれでも構わないが、クラスを数多く定義するような場合は、より多くのメモリアドレスを持つ小学校がお勧めである。

学校の各教室のドアの上部には「1-1」とか「2-3」などの記号が見られるが、これらはオブジェクト指向のソフトウェアにおけるメモリのアドレスを表している。

Flower というクラスをアドレス 1-1 に定義する場合は、「1-1」と書かれた表札を「Flower」と書かれた表札に差し替えれば良い。これによって、 Flower というクラスが宣言されたことになる。

インスタンスの生成編集

先ほどの例で作った Flower というクラスはいわばただの概念であり、プログラム中で実際に Flower クラスを使いには、それを基にして「インスタンス」と呼ばれる具体的な物体を生成しなければならない。

インスタンスの生成はいたって簡単である。Flower クラスの場合は、近所の花屋に行って適当な一輪の花と花瓶を買ってくれば良い。

生成されたインスタンスは、任意の変数に代入することが出来る。各クラスには平均して 40 程度の、インスタンスを格納するための変数領域がある。ただし、過疎化が進む地域の学校で開発する場合は、変数領域が 10 程度しか用意されていない場合もあるので注意が必要である。

Flower クラス内の任意の机の上に、生成された Flower インスタンスを置くことによって Flower のインスタンスが変数に代入されたことになる。

インスタンスの破棄編集

使用済みのインスタンスは、適切なタイミングで破棄すべきである。いつまでも破棄せずに放置しておいた場合、メモリリークと呼ばれる不具合を起こすことがある。

先ほどの Flower インスタンスの例を考える。もしも Flower インスタンスがそのまま残り続けた状態で朝を迎えたとしよう。元気に登校してきたとある児童が、自分の机の上に置かれたブツを見てショックを受け、そのまま登校拒否になったり場合によっては自殺するかもしれないのだ。

このような深刻な不具合を避けるため、オブジェクト指向プログラミングではインスタンスの管理を徹底することが肝要である。