Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ インターフェースとは何か? | インターフェース
Java OOP

bookインターフェースとは何か?

メニューを表示するにはスワイプしてください

複数のクラスから継承する必要がある場合はどうすればよいでしょうか?Javaでは、インターフェースを使うことでこれが可能です。名前は異なりますが、インターフェースは抽象クラスと非常によく似ています。インターフェースの宣言方法を見てみましょう。

簡単に言うと、インターフェースはクラスが実装するメソッドを定義するために使用されます。インターフェースには独自の作成構文があります。クラスを作成する際には「public class className { }」を使用しましたが、インターフェースを作成する際の構文は異なります。

InterfaceExample.java

InterfaceExample.java

copy
123456
package com.example; public interface InterfaceExample { void methodName(); String methodThatAcceptsAndReturnsString(String parameter); }
  1. メソッド宣言に注目;
  2. アクセス修飾子は使用しない;
  3. メソッド本体は記述しない;
  4. インターフェース内で作業しているため、メソッドにabstractを付ける必要はない;
  5. インターフェース内にフィールドは作成しない。

Interfaceの利用例として、メディアプレーヤーを考える。 InterfaceというMediaPlayerがあり、その中にplaypausestopというメソッドがある。また、このメディアプレーヤーインターフェースを実装するクラスとして、AudioPlayerVideoPlayerの2つが存在する。

MediaPlayer.java

MediaPlayer.java

AudioPlayer.java

AudioPlayer.java

VideoPlayer.java

VideoPlayer.java

copy
12345
public interface MediaPlayer { void play(); void pause(); void stop(); }

ご覧のとおり、interface を作成し、このインターフェースを 実装 する 2 つのクラスを作成しました。構文は抽象メソッドをオーバーライドする場合と同じです。各クラスごとに各メソッドをオーバーライドし、それぞれ固有の機能を実行しています。

インターフェースの特徴の一つは、複数のインターフェースを実装できることです。例を見てみましょう。

Vehicle.java

Vehicle.java

VehicleInfo.java

VehicleInfo.java

Car.java

Car.java

copy
123456
package vehicle; interface Vehicle { void startEngine(); void stopEngine(); }

インターフェース VehicleVehicleInfo を作成しました。さらに、これら両方のインターフェース を実装するクラス Car も作成しています。このようにして、クラス内でどの動作を実装するかを選択できる ため、オブジェクト指向プログラミングの原則である 抽象化 をうまく補完します。 インターフェースの利用は非常に便利で、広く活用されています。次の章では、インターフェースと抽象クラスの主な違いについても探り、実際にどちらを使うべきかを学びます。

1. Javaにおけるインターフェースとは何ですか?

2. Javaでは、クラスは複数のインターフェースを実装できますか?

3. Javaにおけるインターフェースの目的は何ですか?

4. クラスでインターフェースを実装する際に使用されるキーワードはどれですか?

5. クラスがインターフェースを実装すると宣言しながら、すべてのメソッドを実装しなかった場合、どうなりますか?

question mark

Javaにおけるインターフェースとは何ですか?

正しい答えを選んでください

question mark

Javaでは、クラスは複数のインターフェースを実装できますか?

正しい答えを選んでください

question mark

Javaにおけるインターフェースの目的は何ですか?

正しい答えを選んでください

question mark

クラスでインターフェースを実装する際に使用されるキーワードはどれですか?

正しい答えを選んでください

question mark

クラスがインターフェースを実装すると宣言しながら、すべてのメソッドを実装しなかった場合、どうなりますか?

正しい答えを選んでください

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 3.  1

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 3.  1
some-alt