Acara tersuai amat diperlukan dalam banyak senario pengaturcaraan, membolehkan komponen berkomunikasi antara satu sama lain berdasarkan pencetus tertentu. Artikel ini bertujuan untuk menangani perkara berikut:
Pernyataan Masalah
Bagaimanakah kita boleh melaksanakan acara tersuai dalam Java untuk memudahkan interaksi antara objek berdasarkan peristiwa tertentu?
Penyelesaian
Corak reka bentuk Observer menyediakan penyelesaian yang elegan untuk mengurus acara tersuai di Jawa. Berikut ialah gambaran keseluruhan corak Pemerhati:
Sampel Pelaksanaan
Coretan kod berikut menunjukkan cara membuat acara tersuai menggunakan corak Pemerhati:
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(); } }
Pelaksanaan
Apabila anda menjalankan kod di atas, ia mencipta objek untuk Pemula (boleh diperhatikan) dan Responder (pemerhati). Inisiter menambah Responder sebagai pemerhati, dan apabila ia melancarkan acara "hello" (sayHello()), Responder dimaklumkan dan membalas dengan tindakan yang ditetapkan. Ini menunjukkan pelaksanaan acara tersuai dalam Java menggunakan corak Pemerhati.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Acara Tersuai di Java Menggunakan Corak Pemerhati?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!