コース: Java 基本講座

今すぐコースを受講しましょう

今すぐ登録して、23,200件以上登録されている、業界エキスパート指導のコースを受講しましょう。

ポリモーフィズム

ポリモーフィズム - Javaのチュートリアル

コース: Java 基本講座

ポリモーフィズム

このレッスンでは、ポリモーフィズム 多様性について説明します。 画面のコードをご覧ください。 メインメソッドの中で Praus FlyingRandyCruiser FlyingPerson というそれぞれの クラスのインスタンス化が行われています。 そして、driveThreeTimes という メソッドが呼び出されていますね。 このメソッドが呼び出されている時に 指定されているパラメータは praus です。 この場合 driveThreeTimes と 書かれている、この 14 行目のメソッドが 呼び出されます。 21 行目からのメソッドも driveThreeTimes という全く同じ 名前ですが、パラメータが FlyingRandyCruiser になっていますので praus を指定された時はこちらが 呼び出されます。 逆に randy という変数をここに指定すると 21 行目からのコードが 呼び出されます。 このように、メソッドの名前が一緒で パラメータの種類だけが違うものを メソッドのオーバーロードといいます。 異なるバージョンのメソッドが存在している というイメージです。 この状態で一度実行してみましょう。 「グレーのプラウスがスイーーンと 走っています。」というメッセージが 表示されましたね。 drive を3回行った状態に なっているわけです。 さて、この2つの driveThreeTimes というメソッドを見てみますと パラメータ以外は全く同じコードに なっているということがわかります。 同じようなコードを何度も書くのは ちょっと非効率のような感じがしますね。 この問題を解決するのが ポリモーフィズム、多様性の考え方です。 ではこのポリモーフィズムという考え方を 応用したメソッドを一つ作ってみましょう。 まずこのメソッドをコピーします。 そのままこちらに貼り付けます。 メソッド名が重複し 変数名も重複していますので 現在はエラーになっていますね。 この部分を Car にしてみましょう。 そして変数名を car にします。 そして中で呼び出している変数は car にします。 これでもう一つのバージョンの driveThreeTimes が生成されました。 これは、Praus そして FlyingRandyCruiser の…

目次