http://blogs.wankuma.com/rti/archive/2007/07/25/86988.aspx
R流、一瞬でわかる.NETオブジェクト指向プログラミング入門1
の続きです。
どこからフォローすれば良いのかわからないので、先頭から順に行ってます。
では実際にオブジェクト指向プログラミングを、
てっとり早く理解
してもらいましょう。
このスライドの画面ですが、ダイアログボックスをデザイナで作っている画面ですね。皆さんお馴染みでしょう。
このツールボックスにあるコントロールを選択して、フォームにペタペタと貼り付ければ、スライドのような画面はすぐに作れてしまいます。
実際、この画面は2分足らずで作りました。カップラーメンを作るより速くできます。便利ですね。
この画面の右側、ツールボックス上のボタンコントロールですが、これが「クラス」です。
正確には、ボタンコントロールクラスです。
で、このフォーム上にいるコントロールが「オブジェクト」です。
オブジェクトとは、物体のことを指すらしいです。
つまり、「OKボタンオブジェクト・キャンセルボタンオブジェクト・参照ボタンオブジェクト」という物体です。
クラスは設計図だと思って下さい。オブジェクトは、設計図を見ながら実際にできたもの、というように思って下さい。
ここで勘違いする人がいると大変なので、お断りしておきますが、オブジェクト指向とはデザイナのことではありません。
あくまでも、クラスから、オブジェクトを作れるという点についてを説明するためにデザイナを利用しているだけです。
これはたまたまデザイナなので、目で見てわかりますが、実際にはソースコード上でクラスを書いたり、オブジェクトを生成したりします。
実際に、このデザイナで作った、このフォームの画面ですが、これは内部的にきちんとコードが生成されています。
C# であれば、C# のソースコードがきちんと自動生成されますし、VBならVBのソースコードが自動的に生成されていますので、興味がある方は、そのソースコードを読んでみるととても勉強になります。
まあ、ここでは、ひとつのボタンコントロールクラスから、OK・キャンセル・参照の3つのオブジェクト、つまり物体を作ったということがわかればOKです。
ちなみに、フォームも同様でフォームクラスというものがあります。
画面にあるフォームは「ファイル名の入力」というオブジェクトです。
大体、ひとつのソフトで複数のフォームを使いますが、それらのフォームは、フォームクラスから作られたオブジェクトということになります。
このように、クラスがひとつあれば、たくさんのオブジェクトが簡単に作れます。
ボタンコントロールクラスは、単なるコードの塊です。
しかし、誰もがボタンコントロールと聞くと、このスライドのようにボタンをイメージします。
コントロールだから視覚的にわかりやすいという理由もあるのですが、各クラスの目的によって、単なるコードの塊が物体として具象化されることで、頭の中でイメージしやすくなるというのは、何もコントロールだけに限ったことではありません。
これは、今までのように単に手続きを書くだけのプログラミングでは考えられなかった素晴らしいことだと僕は思います。
プログラマーは、物作りを楽しみたいのです。
そして、折角物作りを楽しむのなら、上から順に処理の流れを書き綴ってソフトウェアを作るという物作りよりも、処理の単位ごとに物体として具象化しやすいオブジェクト指向による物作りの方が楽しいと僕は思います。
ちなみに、このフォームのデザイナですが、これは旧VB(VB6以前)でもありました。
つまり、オブジェクト指向が苦手だと言っている、旧VBユーザーの方であってもデザイナは使っている筈です。
そういう意味では、オブジェクト指向が苦手な人も、オブジェクト指向にたくさん触れてきていますし、オブジェクト指向の恩恵もたくさん受けているのです。
ですから、オブジェクト指向の基本的な部分は、既に何と無くわかっているのだと思います。