Sehingga ketika keadaan suatu objek berubah, semua objek yang bergantung padanya diberitahu dan berubah sesuai.
Ada banyak cara untuk mengimplementasikan pola pengamat: pola ini harus mencakup dua peran: pengamat dan objek yang diamati. Ada hubungan logis "pengamatan" antara pengamat dan pengamat. Ketika pengamat berubah, pengamat akan mengamati perubahan tersebut dan mengeluarkan perubahan yang sesuai.
/*** Antarmuka Pengamat: Pengamat, kelas yang perlu menggunakan mode pengamat perlu mengimplementasikan antarmuka ini*/pengamat antarmuka publik {pembaruan public void (objek obj);} /*** Pengamat (biasanya kelas abstrak, nyaman untuk ekspansi): Metode Deklarasi, beberapa perubahan telah terjadi, beri tahu pengamat perubahan. */Antarmuka Public Diobserved {public void addoBserver (Observer Obs); // Tambahkan objek pengamat public void rontacterver (Obser OBS); // objek pengamat public void notifyoBserver (string diubah); // beri tahu objek pengamat untuk mengubah yang sesuai} /*** Target Observer: Menerapkan antarmuka pengamat dan melakukan operasi yang sesuai pada objek Observer*/kelas publik ConcreteWatched Implements Welserved {// Observer Object Collection Private List <VERZERBCAR> DAFTAR = ARRAYLIST ARRAYLIST <Observer> (); @Override public void addoBserver (pengamat obs) // Tambahkan pengamat {if (! List.contains (obs)) {list.add (obs); }} @Override public void RemestoBserver (Obserben Obs) // Pengamat memberi tahu pengamat untuk membatalkan pengamatan dan menghapus pengamat dari wadah {if (list.contains (obs)) {list.remove (obs); }} @Override public void notifyoBserver (string change) {// melintasi objek dan metode panggilan secara terpisah untuk operasi pembaruan pembaruan untuk (Obser Obs: daftar) {obs.update (ubah); }}} /*** target yang diamati (pengamat tertentu)*/kelas publik spesifik mengimplementasikan pengamat {@override pembaruan public void (objek obj) {System.out.println (obj.tostring ()); // perubahan baru}}/*** @description:*/uji kelas publik {public static vol Concretewatched (); Observer OBS1 = NewWatcher baru (); Observer Obs2 = Newwatcher baru (); Observer OBS3 = NewWatcher baru (); bobs.addobserver (obs1); // tambahkan objek pengamat bobs.addobserver (obs2); Bobs.addobserver (OBS3); bobs.notifyoBserver ("*** diberitahu ***"); System.out.println("------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Akhirnya cetak hasilnya:
Di atas adalah semua tentang artikel ini, saya harap akan sangat membantu bagi semua orang untuk belajar pemrograman Java.