今回は、ポリモーフィズムの話題です。
ポリモーフィズムとは、定義された同じ名前のメソッドを使ってクラスごとに全く違う振る舞いを
入れこむことができる概念で、、多様性という意味を持ちます。
今回は、オーバーロードの書き方に沿ったポリモーフィズムをさっと書いてみました。
※「オーバーロード」とは、一つの「クラス」の中に、同じ名前で引数が違うメソッドがある状態のことを指します。
このオーバーロードに沿って簡単な計算をするプログラムを書くとこんな感じに仕上がります。
</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メソッドを使用可能にしています。その後に
引数が異なるメソッドを二つ定義しているのがわかります。ここの引数が異なるのがポイントで、
引数によってどのメソッドに処理をさせるかを識別してからメソッドを呼び出しています。
この識別されるメソッドと引数を全部ひっくるめてシグネチャと呼びます。
オーバーロードをこのポリフォーリズムの書き方に当てはめることで、このシグネチャによって
どれだけ同じメソッドを書いても引数によってその処理を柔軟に変えることが出来るのです。
以上です。
オーバーライドを使ったポリモーフィズムもあるのですが、うろ覚えで自信がないのでまたまとまった時に書きます。