以下のコードは別の SO 投稿から取られたものです。実装されたすべてのメソッドの最後にすべてのリスナーに通知するループがあるのは見苦しいので、このコードを書くためのより良い方法があるのではないかと考えていました。これがばかげている場合は、私を許してくださいJava
。
注: インターフェイスに複数のメソッドを実装します。5 つのメソッドを実装します。
import java.util.*;
interface HelloListener {
public void someoneSaidHello();
}
class Initiater {
List<HelloListener> listeners = new ArrayList<HelloListener>();
public void addListener(HelloListener toAdd) {
listeners.add(toAdd);
}
public void sayHello() {
System.out.println("Hello!!");
// Notify everybody that may be interested.
for (HelloListener hl : listeners)
hl.someoneSaidHello();
}
}
class Responder implements HelloListener {
@Override
public void someoneSaidHello() {
System.out.println("Hello there...");
}
}