オブジェクト指向③多態性(ポリモフィズム)
今回のテーマはオブジェクト指向の三大要素
③多態性(ポリモフィズム)です。
例 車インターフェイス
・アクセルを踏む(抽象メソッド)
サブクラスで、アクセルを踏む(抽象メソッド)を実装してオーバーライドします。
ガソリン車
・アクセルを踏む(ガソリンでエンジンを動かす)
電気車
・アクセルを踏む(電力でモーターを動かす)
①車インターフェイスの作成
インターフェイス名は、ICarとします。先頭にIを付けるとインターフェイスであることが分かりやすくなります
Iを付けなくても文法上は問題ありません。推奨レベルと思ってください。
車インターフェイスに抽象メソッドのアクセルを踏むメソッドを作成します。
②車インターフェイスを継承して、ガソリン車クラスを作成します。
ガソリン車が追加されましたが、空のクラスが作成されます。
このままだと、エラーとなってしまいます。波線のところをクリックすると実装されていなメソッドの追加が表示されます。そこをクリックします。
Eclipseの機能として、自動的にOverrideのメソッドを追加してくれます。便利で助かります。
以下のように、ガソリン車メソッドを実装します。
③車インターフェイスを継承して、電気車クラスを作成します。
電気車自動車を以下のように実装します。
④メイン側で、ガソリン車の宣言とインスタンスを実装します。
⑤メイン側で、電気車の宣言とインスタンスを実装します。
パッケージ・エクスプローラーは以下のようになります。
実行するとコンソールに結果を表示します。