Rumah > Java > javaTutorial > Bagaimana untuk Mencipta Sistem Acara Tersuai di Java Menggunakan Corak Pemerhati?

Bagaimana untuk Mencipta Sistem Acara Tersuai di Java Menggunakan Corak Pemerhati?

Barbara Streisand
Lepaskan: 2024-12-04 18:06:18
asal
602 orang telah melayarinya

How to Create a Custom Event System in Java Using the Observer Pattern?

Mencipta Acara Tersuai dalam Java

Di Java, corak pemerhati boleh digunakan untuk melaksanakan sistem acara tersuai. Begini cara anda boleh melakukannya:

Mencipta Antara Muka Pendengar Acara

Langkah pertama ialah menentukan antara muka yang akan dilaksanakan oleh semua kelas yang berminat untuk menerima acara. Contohnya, anda boleh mempunyai antara muka yang dipanggil HelloListener yang mempunyai kaedah untuk membalas acara "hello".

Mencipta Kelas Pemancar Acara

Seterusnya, buat kelas yang akan memancarkan peristiwa. Kelas ini harus mempunyai kaedah untuk menambah pendengar acara dan kaedah untuk melancarkan acara.

Mencipta Kelas Pendengar Acara

Sekarang, buat kelas yang akan menerima peristiwa dan bertindak balas terhadapnya. Kelas ini harus melaksanakan antara muka pendengar acara dan menyediakan pelaksanaan untuk kaedah tindak balas.

Menyatukan Semuanya

Untuk menggunakan sistem acara, buat contoh bagi kelas pemancar acara dan tambahkan pendengar acara kepadanya. Apabila anda ingin melancarkan acara, panggil kaedah penembakan pada pemancar acara. Pendengar acara akan dimaklumkan dan akan bertindak balas dengan sewajarnya.

Kod Contoh

Berikut ialah contoh cara menggunakan corak pemerhati untuk mencipta sistem acara tersuai dalam Java:

import java.util.*;

interface HelloListener {
    void someoneSaidHello();
}

class Initiater {
    private List<HelloListener> listeners = new ArrayList<>();

    public void addListener(HelloListener toAdd) {
        listeners.add(toAdd);
    }

    public void sayHello() {
        System.out.println("Hello!!");

        for (HelloListener hl : listeners)
            hl.someoneSaidHello();
    }
}

class Responder implements HelloListener {
    @Override
    public void someoneSaidHello() {
        System.out.println("Hello there...");
    }
}

class Test {
    public static void main(String[] args) {
        Initiater initiater = new Initiater();
        Responder responder = new Responder();

        initiater.addListener(responder);

        initiater.sayHello(); // Prints "Hello!!!" and "Hello there..."
    }
}
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Mencipta Sistem 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