Javaデモ:オブジェクト指向プログラミング

オブジェクト指向プログラミングの基本は、ザックリと言うとクラスが設計図、インスタンスが実体です。
オブジェクト指向プログラミングの基本概念を自動車で喩えると、設計図(クラス)から自動車の実体(インスタンス)を10台でも100台でも作れると考えるとイメージしやすいでしょう。

クラス型・変数と中身のインスタンスの型が違う場合が有り、クラス型・変数の(継承上の)子孫型のインスタンスが入っている場合が有ります。
ミッキーで喩えると、クラス型・変数が「ミッキーの着ぐるみ」で、インスタンスが「中の人」と言うイメージです。

オブジェクト指向プログラミングの基本概念には継承もありますが、それらの基本概念だけではオブジェクト指向プログラミングの本当のメリットは生かされません。
オブジェクト指向プログラミングの肝は多態性(ポリモーフィズム)です(大抵は抽象化(アブストラクション)と言う概念も必要になるでしょう)。
なので多態性(ポリモーフィズム)が理解できてないなら、オブジェクト指向プログラミングが理解できてないと言って良いです。

下記はJavaデモですが、実際に動かすことで、プログラムの理解に役立つでしょう。
多態性(ポリモーフィズム)の勉強には下記で勉強すると良いでしょう。
一旦スレッドの無い状態(静止した状態)に改造すれば、オブジェクト指向の部分が明確化するでしょう。

Javaデモ/Swingグラフィック「Figure、Thread」(2) オブジェクト指向プログラミング

下記はJavaScriptデモですが、実際に動かすことで、プログラムの理解に役立つでしょう。
このデモなら多態性(ポリモーフィズム)を(見た感じで)イメージしやすいでしょう。
「ラミー、魔法陣、宝石、宝箱」は外面的にFigure_Bottomとして扱えるようにクラス設計しているので、取り扱いが楽になります、それが多態性(ポリモーフィズム)のメリットです。
ただし多態性(ポリモーフィズム)を具現化するためのクラス設計は初心者には難しいでしょうが、そこは根性を入れて勉強していただくしか無いです。

JavaScriptデモ/FieldRoll 016 オブジェクト指向プログラミング

>オブジェクト指向プログラミングの基本概念を自動車で喩えると、設計図(クラス)から自動車の実体(インスタンス)を10台でも100台でも作れると言うイメージです。

例えば「JavaScriptデモ/FieldRoll 016」で「new Figure_Cabinet(R, null, this.R.nSubjectModelSize, 1, 0.1)」だけで宝箱の実体(インスタンス)を生成しています。
なので多数の宝箱の実体(インスタンス)の生成も簡単です。

勉強の教材にするなら『Javaデモ/Swingグラフィック「Figure、Thread」(2)』の方が圧倒的に分かり易いです。
一旦スレッドの無い状態(静止した状態)に改造すれば、オブジェクト指向の部分が明確化するでしょう。


コメント

このブログの人気の投稿