BLOG

【プログラマー 新人研修 Java】新人キャイダの記録5

キャイダです。
夏なのでこの間の休日に友達とホラゲーをしました。
夏と言えば涼むためにホラゲーしますよね。今年まだ全然暑くないけども。

男5人も集まってプレイしたんですが、プレイしたのは僕だけでした。
そのほかは全員プレイしない、いわゆる見る専というやつです。
その中に最強のビビりでホラゲー嫌いな奴がいたんですが、お化け出るたびに奇声をあげて驚いていて、
終いには腕から微量の出血してました。彼は以前もホラゲーで足の骨にひびを入れてしまった猛者なので
少しホラゲーは自重したほうがいいのかもしれないと思ったキャイダです。
でもたのしかったです。

そんなこんなで2週目ではひとまずjavaとSQLを終えました。
復習はまだjavaについて書きますが、それはそれで復習になるので、このペースで続けていきます。

インターフェース

インターフェースやらインタフェースやらいいます。どっちでもいいです。
最初は画面設計の話かな?と思いましたが違いました。
前回の抽象クラスと似たやつです。しかしインターフェースは何個でも継承できてしまうので抽象クラスからしたら
「もう、全部あいつ一人でいいんじゃないかな」といった感じです。
それぐらい便利な奴なんです。

上のほうは抽象クラスのヒューマン。
下のほうがバトルインターフェースです。

これを実装すると以下のようになります。

それぞれHumanを引き継ぎ、さらにinterfaceであるBattleを継承しています。
そう、二つも継承しているのです。しかもinterfaceはいくらでも追加できるので、この後に
戦い以外の機能を追加しようとしても容易にできてしまうのです。すごい。
それに加え、interfaceを継承する上で、メソッドは絶対に実装しないと怒られるので実装し忘れを防げるのです。

インターフェースを作るときは、interface
インターフェースを継承するときはimplementsを使用します。

今回は実際に強田と弱田を戦わせるプログラムを作りたいと思います。

まずは攻撃力とHPを作ったので、せっかくならステータスを入力できるようにしましょう。

Humanに改めてコンストラクタを作り、インスタンス化する際ステータスを入れるようにしました。
ますはこれでステータス入りのインスタンスを作りましょう。

強田 HP:100 攻撃力:60
弱田 HP:30   攻撃力:2
なんということでしょう、二人のステータスにはかなりの差があります。
強田の攻撃で弱田は2回分負けてしまいます。オーバーキルです。
お次は二人の継承したインターフェースのメソッドを書き換えてお互いの
HPを削れるようにしていきましょう。

お互いのHPを削るためには次回で振り返ろうと思っていた多態性が必要になってしまいます。
ナンテコッタイ、これじゃ続きが書けないなぁ、というところで今日は一旦終わりにして、
次回プログラムの続きを作るとします。

⇐ To Be Continued

BLOGトップへ戻る