支援対象地域:札幌、仙台、関東、愛知、関西、広島、福岡

N Air F 1 '07 W S. N PH

The Air Max F C F New M Of E W H Its P O. E S Air And S And F The P Of Air Max S T S Y T

N Air F 1 '07 W S. N IN

S F L Get F S On All O $49+ New R, E S. Y P S For The W H S & A. S S S T!

N Air F 1 Low W P P (W) - DD8959-102 - US

S E O N. F L T & S H. S C C, A, D &

日本語では「多様性」「多態性」「多相性」などと呼ばれるこのポリモーフィズムですが、その考え方のベースイメージを簡単に言うと、物事を”ざっくり見てみましょう”このように、物事を大きな枠で捉えた上で、かつ一つの命令に対し各々が持った別の動きをすることができるのが、このポリモーフィズムの特徴です。

Tê N Air F 1 07 W W DD8959-100 | N

D M Tê N Você E N. Até 30 D/ T!

それではここからは分かりやすくソースコードで見ていきましょう。今回の例えは、「楽器」です。まずは、ポリモーフィズムを活用していない方式でのソースコードです。

class Main {
	public static void main(String[] args) {
		//各楽器をそれぞれ生成
		Piano piano = new Piano();
		Guitar guitar =new Guitar();
		Drum drum = new Drum();
		//playとpauseメソッドを各楽器が順におこなう
		piano.play();
		piano.pause();
		guitar.play();
		guitar.pause();
		drum.play();
		drum.pause();
//各楽器クラス
class Piano {
	void pause () {System.out.println("演奏を止める");}
	void play () {System.out.println("チャララーン");}
class Guitar {
	void pause () {System.out.println("演奏を止める");}
	void play () {System.out.println("ジャカジャーン");}
class Drum {
	void pause () {System.out.println("演奏を止める");}
	void play () {System.out.println("ドドドン");}

↓↓↓

=実行結果=
チャララーン
演奏を止める
ジャカジャーン
演奏を止める
ドドドン
演奏を止める

ここでポリモーフィズムを活用し修正した例を実践していきます。上の状態からポリモーフィズム仕様に変更するには、オブジェクト指向の要素でもある『継承』を利用し、①各楽器を大きな括りでまとめる役の親クラス「楽器」をつくり、各楽器がそれを継承するようなかたちに変えてみます。そして、②親クラスである「楽器」クラスの持っている空のplayメソッドを、各楽器が自分仕様の動作にできるようにオーバーライド(上書きのようなもの)していきます。

長々と説明しましたが、ポリモーフィズムにおいて一番関連深い作業は上の手順①②だと考えます。それでは、実際のコードは下の通りです。

↓↓↓

=実行結果=
チャララーン
演奏を止める
ジャカジャーン
演奏を止める
ドドドン
演奏を止める

N Air F 1 Low 07 W (W) - DD8959-100 - US - SX

E N Air F 1 '07 W S T , . O , N A , . T , .

代表的なのは下記2つです。

T N A 1 ´07 M - B DD8959-102

P I E N Air F 1 '07 W S T , . O , N A , . T , .

同じ内容を持つクラスに何度も同じコードを書く必要がなくなるので、大きな規模の開発になるほど、無駄のないコードを書く事ができます。 同じ内容を持つメソッドは親クラスから呼び出すため、変更がある場合も親クラスのメソッドを書き換えるだけでよくなり、柔軟な対応が可能になります。