• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:インターフェイス実装クラスの表示について)

インターフェイス実装クラスの表示について

このQ&Aのポイント
  • インタフェースPlanetを実装したクラスEarth、Marsがあります。以下の実行結果になるようにクラスAggregateへshowメソッドを追加してください。
  • showメソッド内でEarthクラスとMarsクラスのインスタンスを受け取り、星の名前と概要を表示する処理を追加してください。
  • 参考になりそうなサンプルコードを記載します。

質問者が選んだベストアンサー

  • ベストアンサー
  • pringlez
  • ベストアンサー率36% (598/1630)
回答No.1

interface の意味がわかっていますか? ってわかっていないからこういうコードになっているのだと思いますが。もう少し勉強してください。教科書とかあるのでしょうから、教科書のinterfaceの説明を2分でいいから読んでください。 interfaceを使うメリットは実装クラスを意識しなくてよくなることです。ですので、インスタンス化するとき以外はできるだけ実装クラスを使うべきではないと思います。 Planet.java, Earth.java, Mars.javaはそのままでいいです。 あとはこんな感じ。 // [Main.java] class Main{   public static void main(String[] args){   // Earth&Marsクラスのインスタンス化     Planet earth = new Earth();     Planet mars = new Mars();     // Aggregateクラスのインスタンス化     Aggregate aggregation = new Aggregate();     // showメソッド呼び出し:戻り値無し、引数earth・mars     aggregation.show(earth);     aggregation.show(mars);   } } // [Aggregate.java] class Aggregate {   public void show(Planet planet){     String str = planet.getName();     System.out.println(str);   } } こういうことです。試してないけどたぶん動くと思います。

関連するQ&A