public class Book implements Printable {
@Override
public void print() {
System.out.println("This is a book.");
}
// 他のメソッドやフィールドを追加しても良い
}
このクラスは Printable
インターフェイスを実装しています。そして、print
メソッドでは、「This is a book.」とコンソールに表示する単純な実装がされています。このようにして、Book
クラスは Printable
インターフェイスの要求に従っています。
インターフェイスの実装
インターフェイスの実装は、インターフェイスで宣言されたメソッドをクラスで具体的な実装を提供することです。以下にその基本的な概念をまとめます。
- インターフェイスの宣言:
interface Printable {
void print();
}
- インターフェイスの実装:
public class Book implements Printable {
@Override
public void print() {
System.out.println("This is a book.");
}
}
インターフェイスを実装するクラスは、implements キーワードを使用して宣言します。
インターフェイスのメソッドをクラスで実装するには、@Override アノテーションを使用します。
- インターフェイスの複数実装:
public class Magazine implements Printable, Distributable {
@Override
public void print() {
System.out.println("This is a magazine.");
}
@Override
public void distribute() {
System.out.println("Distributing the magazine.");
}
}
クラスが複数のインターフェイスを実装する場合、カンマで区切って列挙します。
各インターフェイスのメソッドを実装する必要があります。
- インターフェイスのデフォルトメソッド:
interface Printable {
void print();
default void preview() {
System.out.println("Previewing...");
}
}
インターフェイスにはデフォルトメソッドを含めることができます。
クラスがこのインターフェイスを実装する際に、デフォルトメソッドをオーバーライドすることは任意です。
インターフェイスの実装を通じて、異なるクラスが共通の振る舞いや契約を持つことができます。これはプログラムの柔軟性と拡張性を向上させ、異なるクラスを同じ型として扱うポリモーフィズムの概念に貢献します。