オブジェクト指向が理解できない理由

登録は簡単!. 無料です
または 登録 あなたのEメールアドレスで登録
オブジェクト指向が理解できない理由 により Mind Map: オブジェクト指向が理解できない理由

1. Javaや Ruby、Pythonは学びやすい(C++/C#等)

2. ロボットの設計図(=クラス)とロボット(インスタンス)などに例えられる

3. 完全に理解しようとしない

4. クラス内のプロパティを直接編集できなくすることで、安全性を高めるなど

5. 構造化プログラミング

6. 大規模プログラミングでは、関数の数が膨大になり、それぞれの役割が分かりにくい

6.1. オブジェクト同士の相互作用として、システムの振る舞いをとらえる考え方(Wikipedia)

7. PHPや JavaScriptは、オブジェクト指向が独特(不完全)で学びにくい

8. メソッドとプロパティでプログラミングをしていく

9. 引数(パラメーター)で制御していくため、引数の数や種類が膨大に

10. クラス→インスタンスを作る

11. 関数(ファンクション)定義を中心に、プログラムを組み立てる手法

12. 概念がかなり難しいので、完全には理解しようとせず、クラス定義あたりからトライしてみる

13. 正しいオブジェクト指向言語で学ぶ

14. 自分のプログラムに効率の悪さを感じたら、学習のチャンス

14.1. その時に再度学習すると理解が深まる

15. クラスから、その特徴を引き継いだクラスを作る

16. オブジェクト指向

17. オブジェクト指向以前

18. 分からない理由

18.1. ポリモーフィズム

18.1.1. つまり説明が反対なので分かりにくい

18.1.2. 別の型のクラスなどで、共通のメソッドなどを使えるようにする

18.1.3. その例えの意味が分からない

18.1.3.1. インスタンス(Instance=実体)をグループにしたもの

18.2. 実感が湧かない

18.2.1. クラスを作ってインスタンスを作るメリットが分からない

18.2.1.1. 大規模なプログラミング開発で活きてくる考え方

18.2.1.2. 小規模プログラミングでは逆に非効率

18.2.1.3. 初学者には実感が湧かない

18.3. 何が便利なのかが分からない

18.3.1. 「クラス(Class)」は分類という意味

18.3.2. 理解できていないと、効率の悪いプログラムになる可能性がある

18.3.3. ただし、プログラミングをするときはクラス→インスタンスの順なのでややこしい

18.4. 継承・カプセル化・ポリモーフィズム

18.4.1. 継承

18.4.2. カプセル化

18.5. 例えが分からない

18.5.1. より高度で、応用しやすいプログラミング手法なので、基本が分からないと分からない

19. 理解するために