0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

オブジェクト指向を理解したい

Last updated at Posted at 2019-05-28

#背景
laravelを使用していて「なぜこうなるのか」が分からないことが多々ある。
原因はオブジェクト指向についての理解が浅いからだと思う。
理解を深めるために、ここに自分なりに噛み砕いた解釈を書いていく。

##オブジェクト、クラス、インスタンス
クラスとは、機能の仕様(設計図、レシピ)であり、そのクラスの仕様から作られたものがオブジェクト。
厳密に言えば、クラスから作られたものはインスタンスと呼ぶ。

オブジェクトとは、「機能とデータを持ったもの」。
プログラミング的に言うと、「メソッド(処理)とプロパティ(属性)を持ったもの」。
車(オブジェクト)は走るという機能と、色や車種というデータを持っている。

オブジェクトにどんなプロパティがあり、メソッドがあるかを定義したものがクラスともいえる。

##オブジェクトとインスタンスの違い
重要なのはオブジェクトは一つ上の概念であるということ。
意味的にインスタンスは「~の子ども」、オブジェクトは「人間」に相当する。

鈴木さんの子ども(インスタンス)は人間(オブジェクト)である
iPhoneはスマートフォンである
レクサスは車である

というようにどのインスタンスもオブジェクトといえる。
この概念をもう少し広げれば、世の中のほとんどのものがクラスとインスタンスの関係にあるといえる。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?