オブジェクト指向プログラミングとは?

python Python

「オブジェクト指向」とは、分かるようで分かりづらい言葉ですね。
でも技術の進歩、社会の変化など「歴史」を考えると、理解が進みます。

初期のプログラミング言語の仕組み

Pythonが誕生するよりずっと以前のプログラミング言語では、〇行目の処理を実行するようにという命令=GOTO(ゴートゥー)文を多用していました。

下記のようなプログラムがある場合、3行目でGOTO文を使います。

1:テストの点数が60点以上ですか?
2:60点以上の場合「合格」と表示します。
2:60点以上ではない場合「不合格」と表示します。
4:どちらもない場合200行目のプログラムを実行します。



200:終了します。

こんな書き方だと、複雑な処理を行うプログラムを作ると、ごちゃごちゃするのは想像がつきます。(こういうプログラムを「スパゲッティコード」といいます。)

構造化プログラミング

GOTO文を使う書き方では限界がきます。
そこで、制御構文が登場しました。
「順次」「分岐」「反復」という3種類の構文を組み合わせてプログラムを書きます。

「順次」とは、プログラムを上から順番に実行することです。

「分岐」とは、「テストの点数が60点以上かどうか?」という条件を設定し、結果により、ちがう処理を実行することです。

「反復」とは、ある条件に合う場合、指定した処理を繰り返し実行することです。
例えば、処理を実行する回数が100回になるまで、足し算をするといったようなことです。

オブジェクト指向プログラミング

パソコンやインターネットが普及し、使用されるプログラムの規模も大きくなります。また、修正や変更などもすみやかに行うことも増えます。

そこで、構造化プログラミングより、さらに適した仕組みとして「オブジェクト指向プログラミング」が登場します。

オブジェクト指向プログラミングでは、個別のプログラムは「構造化プログラミング」を使います。
ただし、構造化プログラミングをまとめるモノとして「オブジェクト」を使います。

オブジェクト指向プログラミングの特徴

「オブジェクト」という部品を組み合わせてプログラムを作ります。
この性質を実現するために次の3つの機能があります。

(1)カプセル化
(2)継承
(3)多態性

3つの機能の詳細は・・・もうすっかり忘れています。(-_-;)
しっかり復習しないといけません。

コメント

タイトルとURLをコピーしました