オブジェクト指向

オブジェクト指向とは? プログラムの世界において、オブジェクト指向とは?
オブジェクトに着目して作られるプログラムになります。

オブジェクトとは、何を指すのでしょうか? オブジェクト(モノ)あるいは(クラス)は処理とデータを持つことができます。
・処理(メソッドと呼びます。)
・データ(メンバ変数と呼びます。)

オブジェクトのことをクラスともいいます。
オブジェクト(クラス)をメモリ上に展開して、
使えるようにすることを インスタンス(生成)といいます。

オブジェクト指向の3大要素 ・カプセル化
・継承
・ポリモフィズム(多態性)

カプセル化 処理(メソッド)とデータ(メンバ変数)の一つの単位である
オブジェクト(クラス)にまとめることをいいます。
また、参照権限を付与することもできます。
同じオブジェクト(クラス)内からしか参照できないよう
にしたり、別のオブジェクト(クラス)からでも
参照できるように制御することができます。
 
参照権限は以下のものがあります。
・public(公開):
 →別クラスからでもアクセス可能。
 
・protected(派生クラス内公開):
 →派生クラスからアクセス可能。
 
・private(非公開):
 →別クラスからアクセス不可。


継承 上位クラスの機能を引き継いで、
サブクラスを作成することができます。
 
車クラスを例として説明します。
以下の機能があります。
・アクセスを踏む。
・ブレーキを踏む。
・ハンドルを回す。
  
サブクラスとして、消防車を作成するとします。
以下の機能を追加します。
・水を放水する。
・梯子を取り出す。
・鐘を鳴らす。
 
このように、上位クラスの機能を引き継いで、
サブクラスで、機能を拡張したいときに継承の機能は役に立ちます。

ポリモフィズム(多態性) 上位クラスは抽象クラス、またはインターフェースで、
抽象メソッドまたはインターフェース(未実装)で定義します。
サブクラスで実装することをポリモフィズム(多態性)といいます。
具体的な例としては、
上位クラスで「アクセスを踏む」を抽象メソッドとして未実装で定義します。
サブクラスとして、ガソリン自動車では、ガソリンを爆発させて
エンジンを動かします。 一方、電気自動車では、
電気の力でモーターを動かします。
 

オブジェクト指向言語 オブジェクト指向言語には、以下があります。
・C++
・VisualC++
・VisualC#
・Java
・Python
 
他にもオブジェクト指向言語はあります。

☆まとめ☆ ソフトウェア開発などプログラム言語に携わる
職種の方、あるいはこれから目指す方には、
オブジェクト指向のスキルは必須となると考えています。

Follow me!