Rumah > Java > javaTutorial > Bagaimanakah Saya Boleh Melaksanakan Acara Tersuai di Java Menggunakan Corak Pemerhati?

Bagaimanakah Saya Boleh Melaksanakan Acara Tersuai di Java Menggunakan Corak Pemerhati?

Linda Hamilton
Lepaskan: 2024-11-21 18:00:18
asal
194 orang telah melayarinya

How Can I Implement Custom Events in Java Using the Observer Pattern?

Mencipta Acara Tersuai di Java

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:

  • Boleh diperhatikan: Mentakrifkan antara muka untuk kelas yang mengurus pelanggan acara.
  • Pemerhati: Mentakrifkan antara muka untuk kelas yang menerima pemberitahuan untuk acara daripada boleh diperhatikan.

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();
    }
}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan