[PR][無料]足し算引き算で分かる:電卓で気になるあの人も恋人の相性も診断


オブジェクト指向#1

上から下へ読んでください

<・TOPへ戻る> <・戻る>
どんなものか
 プログラムを機能ごとにわけ(関数とか連想してください)、それら個々をオブジェクト(物体)と呼ばれる部品として扱い、 それらをパズルやブロックのように組み立てていくというのが大体の概念です


利点
 オブジェクト指向の利点は?と聞かれると大抵、生産性が高い信頼性が高いなどど言われます。 これだとアバウトすぎるのでなぜそう言われるのか考えます。そのためにはクラスについて知っておかなければいけません。ちなみにCでの「記憶クラス」とは全く別物です。


クラス
 オブジェクト指向の根底にある概念、それがクラスです。これは元々構造体を拡張したものであり、クラスの定義部分は構造体とよく似ています。 イメージ的に構造体+関数+αってぐらいで。つまり構造体メンバに関数を含ませることができます(Cでも出来るけど…)。そして任意でメンバ変数をクラス内の関数以外からアクセスするのを禁止することが出来ます。 つまり、クラス内の変数を関数で包み込み、変数が外部から不当にアクセスされ、値を変えられ、結果として思わぬバグになるということを防ぐことが出来ます。 これによりバグの出現率を減らすことが出来ます。そしてそれぞれがバグのない部品を組み合わせれば比較的バグの少ないプログラムが作れるだろうという考え。これが信頼性が高いといわれる理由でしょう。ただ、ひとつ注意して欲しいのはクラス内の関数にバグがある場合はどうにもなりません。信頼性もへったくれも無いです。

 また、前述したとおりクラス内の変数は外部からのアクセスが無いためクラス内で完結しています。つまり、他のコードと非依存関係にあると言えます。 よってあるプログラム内で作ったクラスを別のプログラム内で使う場合、一切なんの変更も無く使えるということになります。 ただし、これもクラス内の関数が特定のプログラムに依存した変数を使用していない場合に限ります。というかクラス内に外部変数を持ってくることはなるべく避け、引数を使ってデータ元を抽象化するようにしましょう。 また、語述しますがこうして作られたクラスはもとのコードを変更することなく、機能を拡張したり、変更することが可能です。これが生産性が高いといわれる理由のひとつです。

ただ、結局のところ生産性と信頼性はそれを作るプログラマに大きく依存することは言うまでも在りません。




<・TOPへ戻る> <・戻る>




[PR]衝撃!あなたの本当の裏の顔!:実は貴方はΟΔ県出身?ここで分かる真実