「Java入門」多態性(ポリモーフィズム)を利用するサンプル
書式
関数名(インターフェース 変数)
変数:クラスのインスタンス
使用例
1.インターフェースの定義
package com.arkgame.study;
public interface InterDemo {
// 抽象メソッド
void testFunc();
}
2.インターフェースを実装
package com.arkgame.study;
// TestAクラスでインターフェースを実装
class TestA implements InterDemo {
@Override
public void testFunc() {
System.out.println("TestAクラスのメッセージ 1111");
}
}
//TestBクラスでインターフェースを実装
class TestB implements InterDemo {
@Override
public void testFunc() {
System.out.println("TestBクラスのメッセージ 2222");
}
}
//TestCクラスでインターフェースを実装
class TestC implements InterDemo {
@Override
public void testFunc() {
System.out.println("TestCクラスのメッセージ 3333");
}
}
public class PolymorphismDemo {
// 共通の関数を呼び出す
static void TestInterFunc(InterDemo id) {
id.testFunc();
}
public static void main(String[] args) {
//オブジェクトA作成
TestA objA = new TestA();
//関数を利用
TestInterFunc(objA);
//オブジェクトB作成
TestB objB = new TestB();
//関数を利用
TestInterFunc(objB);
//オブジェクトB作成
TestC objC = new TestC();
//関数を利用
TestInterFunc(objC);
}
}
実装結果
TestAクラスのメッセージ 1111
TestBクラスのメッセージ 2222
TestCクラスのメッセージ 3333