// 既存のインターフェイス
interface ExistingInterface {
void existingMethod();
}
// 複数のメソッドを含む新しい拡張インターフェイス
interface ExtendedInterface extends ExistingInterface {
void newMethod1();
void newMethod2();
}
// 実装クラス
class MyClass implements ExtendedInterface {
// 既存のメソッドの実装
@Override
public void existingMethod() {
System.out.println("Existing method implementation");
}
// 新しいメソッド1の実装
@Override
public void newMethod1() {
System.out.println("New Method 1 implementation");
}
// 新しいメソッド2の実装
@Override
public void newMethod2() {
System.out.println("New Method 2 implementation");
}
}
// 利用例
public class Main {
public static void main(String[] args) {
MyClass myObj = new MyClass();
// 既存のメソッド呼び出し
myObj.existingMethod();
// 新しいメソッド呼び出し
myObj.newMethod1();
myObj.newMethod2();
}
}
この例では、ExistingInterface
という既存のインターフェイスを拡張する ExtendedInterface
を作成し、それを実装する MyClass
クラスが、既存のメソッドと新しいメソッドを実装しています。
複数のメソッドを含む拡張
既存のインターフェイス:
interface ExistingInterface {
void existingMethod();
}
新しい拡張インターフェイス:
interface ExtendedInterface extends ExistingInterface {
void newMethod1();
void newMethod2();
// 他の新しいメソッドも追加可能
}
ここで、ExtendedInterface は ExistingInterface を拡張しています。
実装クラス:
class MyClass implements ExtendedInterface {
// 既存のメソッドの実装
@Override
public void existingMethod() {
// 実装
}
// 新しいメソッド1の実装
@Override
public void newMethod1() {
// 実装
}
// 新しいメソッド2の実装
@Override
public void newMethod2() {
// 実装
}
}
ここで、MyClass クラスは ExtendedInterface を実装しています。このクラスは、既存のメソッドと新しいメソッドを実装する責任があります。
このようにして、新しい機能を含む拡張されたインターフェイスを作成し、それを実装することで、既存のコードに新しい機能を組み込むことができます。