自訂事件在許多程式設計場景中都是不可或缺的,它使元件能夠根據特定的觸發器相互通信。本文旨在解決以下問題:
問題陳述
如何在 Java 中實現自訂事件,以促進基於特定事件的物件之間的交互?
解決方案
觀察者設計模式為管理自訂事件提供了一個優雅的解決方案在爪哇。以下是觀察者模式的概述:
範例實作
以下程式碼片段示範如何使用觀察者模式建立自訂事件:
import java.util.*; // Observer interface - defines what an Observer should respond to interface HelloListener { void someoneSaidHello(); } // Observable class - defines how an Observable manages Observers class Initiater { private List<HelloListener> listeners = new ArrayList<>(); // Method to add observers public void addListener(HelloListener toAdd) { listeners.add(toAdd); } // Method to notify observers public void sayHello() { System.out.println("Hello!!"); for (HelloListener hl : listeners) { hl.someoneSaidHello(); } } } // Observer class - defines how an Observer responds to events class Responder implements HelloListener { @Override public void someoneSaidHello() { System.out.println("Hello there..."); } } // Main class class Test { public static void main(String[] args) { Initiater initiater = new Initiater(); Responder responder = new Responder(); initiater.addListener(responder); initiater.sayHello(); } }
執行
當你執行上面的程式碼時,它會建立發起者(可觀察者)和回應者(觀察者)的物件。發起者將回應者新增為觀察者,當它觸發「hello」事件 (sayHello()) 時,回應者會收到通知並以其指定的操作進行回應。這演示了使用觀察者模式在 Java 中實作自訂事件。
以上是如何使用觀察者模式在 Java 中實作自訂事件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!