オブジェクト指向プログラミングについて その2
Posted: 2012年9月17日(月) 19:04
何ヶ月か前にも似たようなスレを立てていますが、今回はもうちょっと踏み込んだ(?)ところの質問です
オブジェクト指向について開発を通して現在進行形でお勉強中ですが
・クラス化
・カプセル化
・継承
の3つについては概ね理解し、また開発で実践できるようにもなりました
ですが多態性(ポリモーフィズム)についてイマイチ理解できません
調べてみても
プログラミング言語の各要素(定数、変数、式、オブジェクト、関数、メソッドなど)についてそれらが複数の型に属すること
なんてややこしいこと書いていて良く分からないですし
先生に聞くと「関数の多重定義が許されることや」と答えが返ってきましたが、イマイチ上の定義と結びつきません
自分なりに解釈しようとした結果は下のような答えになりました
ウチの学校で配布されているライブラリでは
DirectXのD3DXVECTOR3構造体を、そのまま"ベクトル"として使いますが
同時に"座標"としても使うことがあります
このように一つの要素(この場合はD3DXVECTOR3構造体)を"複数の用途"で利用すること
これが僕が出した答えなのですが、これでもあんまり釈然としません(と言うか全く違う気すらする)
現状ではゲームプログラミングに特化しているともいえるほど知識と経験がそっちの方面に偏っている僕にも分かるように
分かりやすい解釈と具体例(実用例)を教えてもらえないでしょうか?
オブジェクト指向について開発を通して現在進行形でお勉強中ですが
・クラス化
・カプセル化
・継承
の3つについては概ね理解し、また開発で実践できるようにもなりました
ですが多態性(ポリモーフィズム)についてイマイチ理解できません
調べてみても
プログラミング言語の各要素(定数、変数、式、オブジェクト、関数、メソッドなど)についてそれらが複数の型に属すること
なんてややこしいこと書いていて良く分からないですし
先生に聞くと「関数の多重定義が許されることや」と答えが返ってきましたが、イマイチ上の定義と結びつきません
自分なりに解釈しようとした結果は下のような答えになりました
ウチの学校で配布されているライブラリでは
DirectXのD3DXVECTOR3構造体を、そのまま"ベクトル"として使いますが
同時に"座標"としても使うことがあります
このように一つの要素(この場合はD3DXVECTOR3構造体)を"複数の用途"で利用すること
これが僕が出した答えなのですが、これでもあんまり釈然としません(と言うか全く違う気すらする)
現状ではゲームプログラミングに特化しているともいえるほど知識と経験がそっちの方面に偏っている僕にも分かるように
分かりやすい解釈と具体例(実用例)を教えてもらえないでしょうか?