見出し画像

抑えるべき『オブジェクト指向』の重要点8選

オブジェクト指向プログラミングにおいては、以下のようなプログラム構造と仕組みがあります。

1.クラス(Class)

  • クラスはオブジェクトの設計図であり、データ(プロパティ)と操作(メソッド)をまとめたものです。

  • クラスは抽象的な概念であり、実際のオブジェクトを作成するためのテンプレートです。

2.オブジェクト(Object)

  • オブジェクトはクラスから具体的に作成された実体であり、データを持ち、操作を実行できます。

  • クラスのインスタンスとも呼ばれます。

3.プロパティ(Properties)

  • プロパティはオブジェクトが持つデータの状態を表します。

  • クラス内に宣言され、オブジェクトごとに異なる値を持つことができます。

  • 例えば、人物クラスのプロパティには名前、年齢、性別などがあります。

4.メソッド(Methods)

  • メソッドはクラス内で定義された操作や機能のまとまりです。

  • オブジェクトに対して特定の動作を実行するために呼び出されます。

  • メソッドはプロパティにアクセスし、データを変更したり、特定の処理を行ったりするために使用されます。

5.カプセル化(Encapsulation)

  • カプセル化は、関連するデータ(プロパティ)と操作(メソッド)を一つの単位にまとめ、外部からの直接的なアクセスを制限する仕組みです。

  • クラス内のデータは通常、プライベート(非公開)として宣言され、外部からはアクセスできません。代わりに、公開されたメソッドを通じてデータにアクセスする必要があります。

6.継承(Inheritance)

  • 継承は、既存のクラス(親クラスまたはスーパークラス)を拡張または特化した新しいクラス(子クラスまたはサブクラス)を作成する機能です。

  • 子クラスは親クラスのプロパティとメソッドを継承し、追加の機能を持つことができます。

  • 継承により、既存のクラスの機能を再利用しながら、新しいクラスを作成することができます。

  • 子クラスは親クラスの属性やメソッドを継承するため、コードの再利用と効率性を向上させることができます。

  • また、継承によって階層構造を作り、クラス間の関係性を表現することができます。例えば、動物クラスがあり、そのサブクラスとして犬クラスや猫クラスを定義することができます。

7.ポリモーフィズム(Polymorphism)

  • ポリモーフィズムは、異なるクラスが同じ名前のメソッドを持つことで、それぞれのクラスが適切な振る舞いをする能力です。

  • ポリモーフィズムにより、共通のインターフェースを持つ複数のクラスを一貫して操作したり、共通のメソッドを呼び出すことができます。

  • 例えば、動物クラスのサブクラスである犬クラスと猫クラスは、両方ともmakeSound()メソッドを持つことができますが、それぞれが異なる音を出すように実装されています。

8.抽象クラスとインターフェース(Abstract Class and Interface)

  • 抽象クラスは、一部のメソッドが未実装であり、派生クラスに実装を任せるためのクラスです。

  • インターフェースは、全てのメソッドが未実装であり、クラスが特定の機能を提供するための契約となるものです。

  • 抽象クラスとインターフェースは、クラス間の関係性を明確化し、コードの再利用性と保守性を向上させます。


この記事が気に入ったらサポートをしてみませんか?