【java】オーバーロードを使ったポリモーフィズムの書き方

  • 2019年6月24日
  • 2019年6月25日
  • Java

今回は、ポリモーフィズムの話題です。

ポリモーフィズムとは、定義された同じ名前のメソッドを使ってクラスごとに全く違う振る舞いを

入れこむことができる概念で、、多様性という意味を持ちます。

今回は、オーバーロードの書き方に沿ったポリモーフィズムをさっと書いてみました。

※「オーバーロード」とは、一つの「クラス」の中に、同じ名前で引数が違うメソッドがある状態のことを指します。

このオーバーロードに沿って簡単な計算をするプログラムを書くとこんな感じに仕上がります。

</pre>
<pre>class calculator{
  public void calc(int x) {
    System.out.println("x * x = " + (x * x));
  }
  public void calc(int x, int y) {
    System.out.println("x * y = " + (x * y));
  }
}

class plusCalc{
  public static void main(String[] args) {
    calculator hoge = new calculator();
    hoge.calc(int 4,2)
    hoge.calc(int 2)
}
</pre>
<pre>

スーパークラスcalculatorのインスタンスを定義してcalcメソッドを使用可能にしています。その後に

引数が異なるメソッドを二つ定義しているのがわかります。ここの引数が異なるのがポイントで、

引数によってどのメソッドに処理をさせるかを識別してからメソッドを呼び出しています。

この識別されるメソッドと引数を全部ひっくるめてシグネチャと呼びます。

オーバーロードをこのポリフォーリズムの書き方に当てはめることで、このシグネチャによって

どれだけ同じメソッドを書いても引数によってその処理を柔軟に変えることが出来るのです。

以上です。

オーバーライドを使ったポリモーフィズムもあるのですが、うろ覚えで自信がないのでまたまとまった時に書きます。

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG