HatenaPocket本稿は継承したメソッドをオーバーライドする方法と、それによっておこるポリモーフィズムという特性について説明します。メソッドのオーバーライドオーバーライドしたい親クラスのメソッド名と、引数のパターンも同じにすることで、そのメソッドをオーバーライドできます。メソッドの上に@Overrideと記述することで、オーバーライドしていることを明示することもできます。@Overrideをつけておくと、オーバーライドできていない場合にコンパイルエラーが発生します。それではオーバーライドのサンプルをご覧ください。run(){System.out.println("走りました。run(){System.out.println("猫は走りました。メソッドのオーバーライドとポリモーフィズム現時点でオーバーライドしたところでメリットが感じられないかもしれませんが、オーバーライドをすることによって起こる、ポリモーフィズムという特性がそれなりのメリットをもたらします。ポリモーフィズムとは、継承したクラスのオブジェクトがそれぞれ違った振る舞いをすることです。それでは例を見てみましょう。Animal型の変数に代入できているわけですが、実は継承元の変数型には代入できるという特徴があります。次に、Animal型の変数に代入してrunメソッドを呼び出しているのに、呼び出し先がそれぞれCatクラス、Dogクラスのrunメソッドが呼び出されています。この特性こそがポリモーフィズムなのです。何?って感じかもしれませんが、継承元のクラス型の配列などで、一括処理ができたりするのでめちゃくちゃ便利なのです。実際にポリモーフィズムを利用した、少し複雑なプログラムを見てみましょう。getAgreementGirls();//それぞれの魔法少女の行動を5回見てみます。マ〇は50のダメージを受けた。{//弾がなかったら時間停止して補充しに行きます。===まど〇の行動こんなの絶対おかしいよ!!マ〇の行動ティロ・フィナー〇はもう使えない!!マ〇は50のダメージを受けた。===まど〇の行動こんなの絶対おかしいよ!!マ〇の行動ティロ・フィナー〇はもう使えない!!マ〇は50のダメージを受けた。===この例では、3体の独自行動するキャラを同じ配列で管理しています。actionメソッドを同じタイミングで、同じ回数呼び出します。結果をみれば、それぞれのキャラが独自の行動をしているのがわかると思います。実際にシューティングゲームやアクションゲームではこのポリモーフィズムを利用した配列等でオブジェクトを管理しておき、敵キャラとプレイヤーキャラの配列をループで回し、それぞれ当たり判定していくといった使い方ができます。余談かもしれませんが、Javaの全てのクラス(参照型)はObjectクラスを継承しています。Objectが付けられます。配列型もObject型を継承しています。全ての参照型変数はObject型に代入可能です。プログラムがわかりにくくなるので、理由がない限りはやらないほうがいいと思います。【Java:的当てゲーム】ゲーム終了後に保存処理を実装する前回で、ランキングデータの保存と読み込み処理の実装は完了しました。本稿はJavaのPolygonクラスについて紹介します。...【Java】配列操作用クラスArrays本稿は配列操作用クラスのArraysクラスの一部の機能を紹介します。コメントをキャンセルメールアドレスが公開されることはありません。当サイトのプライバシーポリシーについてはこちらからご参照いただけます。