テーマ:私のPC生活(7425)
カテゴリ:家電
計測制御VB6プログラマがVB.netに乗り換えるにあたり、オブジェクト指向を理解しようと頑張るシリーズ。
(ここで私が書く内容は、プロの正統派プログラマからしたら間違えていると思います。しかし私はとりあえず動けばいいサンデープログラマ、わかりやすい理解が信条) 先週からの続き。 VB.netを使う上で避けては通れないオブジェクト指向の考え方(forド素人用)が続きます。 オブジェクト指向プログラミングとは、要するに変数を使わず、フォーム上に貼り付けたテキストボックスやラベルを変数代わりにしてプログラムを書くようなことを正式採用して全面的に展開したものだというのが昨日の話でした。 従来の「変数」+「関数」で記述するのではなく、「プロパティ(データ)」+「メソッド(プログラム)」で書くものだと・・・ そう、結局VB6もVB.netもやることは同じなんですよ。文法が違うだけで。 関数名を調べるのではなくメソッド名を調べるようになっただけのことです。 でもオブジェクト指向ってそれだけじゃないんでしょ?なんか小難しいのがあったじゃないですか・・・ 「継承」「ポリモーフィズム」「オーバーライド」「オーバーロード」とかいうやつ。 教科書見たら絶対乗ってるよね。何あれ?? あえていおう、VB6でこじんまりとした計測制御プログラム作っているような人にとっては、あんなもの無用の長物だと。 深く知らなくても多分大丈夫。だって今までそんな機能使ってなかったじゃん。 いずれもオブジェクトの使いまわしに関する機能で、大規模プログラムを書かない限り不要な概念(だとおもう)。 例えば、あなたがあるコントロールを作ったとします。 そのコントロールは非常に便利で、あなたが所属する開発チームが作っているプログラムのあちこちで使われているとします。 あるとき、Aさんから、そのコントロールをちょっと改良したいと申し出がありました。 もちろん、ソースコードを渡して改変してもらっても構わないわけです。小規模プロジェクトならそれも十分アリです。 しかし大規模プロジェクトだったらどうしますかね?すでに実装したメソッドはみんなが使っているからヘタに触れてほしくないし、Aさんもソースーコード全部見るほどヒマじゃない。 こんな時は、あなたの書いたコードはブラックボックスのままにして、Aさんが必要なサブルーチンだけ書き足した改造版コントロールを作ればいいんですよね。 これが「継承」です。たぶん。 ポリモーフィズムは、そのコントロールのメソッドだけを流用できるようにあらかじめ考えてプログラムしておくことで、入力するデータの形式がちょっと違った形式でもちゃんと通用するようにサブルーチンを書くこと、です。たぶん。 オーバーライドは、あるメソッドと名前は同じなんだけど、引数によって違う動作をするプログラムを仕込むことだと思います。 例えば配列から最大値を求めるメソッドの場合、単に最大値を返すだけでなく、少数だったら四捨五入して整数にして返すとかそういうのを既存のメソッドと同じ名前でやることでしょう。どっちの動作をするのかを判別するのはどのクラスを使っているかということなんですが・・・別に知らなくてもプログラムは書けます。たぶん。 オーバーロードは…もう私の頭はオーバーロード 知らんでもええってこっちゃ というわけで、計測器からデータ引っ張り出してテキストファイルに保存さえできればそれで十分という、こじんまりした計測制御プログラムを仕事の合間にチャチャッと作っているような人にとっては、継承とかどーでもいい機能です。たぶん。 いちばんやさしいオブジェクト指向の本 技評SE選書 / 井上樹 【単行本】 明日に続く。 お気に入りの記事を「いいね!」で応援しよう
最終更新日
2015.02.16 23:48:28
コメント(0) | コメントを書く
[家電] カテゴリの最新記事
|
|