オブジェクト指向プログラミング
オブジェクト指向プログラミングは、対象問題のモデルをプログラム内で作成するという概念に基づいています。 オブジェクト指向プログラミングにより、プログラミング・エラーが減り、コードの再使用が促進されます。 Python は、オブジェクト指向言語です。 Python で定義されるオブジェクトには、以下の特徴があります。
- 同一: 各オブジェクトは個別であり、これはテスト可能でなければなりません。 この目的のために、
isテストとis notテストが存在します。 - 状態。 各オブジェクトは、状態を格納できる必要があります。 フィールドやインスタンス変数などの属性は、この目的のために存在しています。
- 動作。 各オブジェクトは、状態を操作できる必要があります。 メソッドは、この目的のために存在します。
Python には、オブジェクト指向プログラミングをサポートするための以下の特徴があります。
- クラス・ベースのオブジェクト作成。 クラスは、オブジェクトを作成するためのテンプレートです。 オブジェクトは、振る舞いが関連づけられているデータ構造です。
- ポリモアフィズムによる継承。 Python は、単一継承と多重継承をサポートしています。 Python のすべてのインスタンス・メソッドは、ポリモアフィックであり、サブクラスによるオーバーライドが可能です。
- データ隠蔽によるカプセル化。 Python では、属性を隠すことができます。 非表示の場合、クラスのメソッドを介してのみ、クラスの外部から属性にアクセスできます。 クラスには、データを変更するためのメソッドを実装します。