ユーチューブ動画

抽象クラスの配列について解説します。

ソースコード

解説

抽象クラスの配列について解説します。

 

以前の動画(042-抽象クラス-オーバーライドとポリモーフィズム)でご紹介したオーバーライドとポリモーフィズムではメソッド名が同じでも振る舞いを変えることが出来ることを解説しました。

今回の動画では、そんなオーバーライドやポリモーフィズムの利点の合わせ技といった形になっています。

 

ポイントを復習しておきましょう。

サブクラスのインスタンスは、スーパークラスの変数に代入できるという点です。

これを思い出してください。

すると、ご覧のように、スーパークラス型の配列として、サブクラスのインスタンスを格納することができます。

 

配列ができたら、あとはこっちのものです。

拡張for文などを使って、オーバーライドされたメソッドを呼び出すと、ポリモーフィズムが実現されます。

つまり、呼び出したインスタンスの種類に応じた振る舞いを実行できます

実行結果は変わりません。

 

いまは、2つのだけのインスタンスですが、数多くのインスタンスがあり、

種類によって、振る舞いを分けなければいけないときに、活用が期待できます。

整理すると、スーパークラス型をうまく使うこと、

ポリモーフィズムを活用することを、

合わせると、コード量を削減できるということです。

 

なかなか難しいトピックですが、イメージができたでしょうか?

いろいろな説明を聞くと、また理解が深まります。

ぜひ前に進みましょう。

以上、抽象クラスの配列について解説しました。

 

 

このサンプルコードをJavaタッチタイプゲームとして遊ぶことができます。