Javaにおける多重継承の実装
Javaではクラスは単一継承、つまりあるクラスは直接的に他のクラスからしか継承できません。ただし、Javaではインタフェースという仕組みがあり、これで多重継承のような効果を実装できます。
インターフェースは抽象メソッドの集合を定義し、クラスは1つまたは複数のインターフェースを実装できます。複数のインターフェースを実装することで、クラスは複数のインターフェースで定義されたメソッドを取得できます。
例えば、クラス A に多重継承を実装したければ、以下の手順に従ってください。
- インターフェースBを作成し、継承するメソッドを定義します。例:
public interface B {
public void methodB();
}
- インターフェースCを作成し、継承する必要のあるメソッドを定義する。例:
public interface C {
public void methodC();
}
- Aクラスを作成し、インターフェースBとインターフェースCを実装します。例えば:
public class A implements B, C {
public void methodB() {
// 实现接口B中定义的方法
}
public void methodC() {
// 实现接口C中定义的方法
}
}
クラスAはクラスBとクラスCを実装することで、両クラスで定義されたメソッドを取得できる。
インターフェイスには抽象メソッドのみ定義できることに注意してください。したがって、インターフェイスを実装するときは、具体的な実装を提供する必要があります。また、2 つ以上のインターフェイスに同じメソッドが定義されている場合、クラスはそのメソッドを 1 回だけ実装すれば済みます。