Rumah > Java > javaTutorial > teks badan

Cara menggunakan corak pelawat Java untuk mengendalikan struktur objek dengan cara yang cantik

WBOY
Lepaskan: 2023-05-09 16:01:17
ke hadapan
1525 orang telah melayarinya

Pengenalan

Corak Pelawat Java ialah corak reka bentuk tingkah laku yang membenarkan pemisahan algoritma daripada objek yang dikendalikannya Corak ini mentakrifkan objek pelawat yang boleh mengakses Jenis objek yang berbeza dan melakukan beberapa operasi, ia juga membolehkan anda menambah operasi baharu tanpa mengubah kod sedia ada

Dalam corak pelawat, terdapat dua peranan penting: pelawat dan Elemen ialah komponen struktur objek mewakili operasi yang akan dilakukan. Pelawat boleh mengakses elemen melalui kaedah terima elemen

Corak pelawat Java biasanya melibatkan 5 jenis Peranan berikut:

  • Pelawat Abstrak. : Mentakrifkan kaedah akses yang boleh mengakses setiap elemen

  • Pelawat Konkrit ): Melaksanakan kaedah akses yang ditakrifkan oleh pelawat abstrak, termasuk operasi khusus untuk elemen yang berbeza

  • Elemen Abstrak (Elemen): Mentakrifkan kaedah yang menerima objek pelawat untuk membolehkan akses Pelawat boleh mengakses diri mereka sendiri
  • Elemen Konkrit: Melaksanakan kaedah pelawat yang ditakrifkan oleh abstrak. elemen, membolehkan pelawat mengakses diri mereka sendiri.
  • Struktur Objek: Koleksi yang mengandungi elemen, yang boleh menyediakan lelaran untuk melintasi elemen dan boleh menerima akses daripada pelawat.
  • pelaksanaan

Terdapat pelbagai jenis haiwan di zoo, termasuk anjing, kucing dan burung Mod pelawat boleh digunakan untuk mengira bilangan jenis haiwan yang berbeza, serta maklumat atribut bagi pelbagai jenis haiwan. >Ujian

public interface Animal {
    void accept(Visitor visitor);
}
Salin selepas log masuk

Dalam contoh ini, kami telah mentakrifkan tiga kelas haiwan, termasuk Anjing, Kucing dan Burung Mereka semua melaksanakan antara muka Haiwan dan mempunyai kaedah terima, yang lulus dalam parameter jenis Pelawat.

Seterusnya, antara muka Pelawat ditakrifkan, yang mengandungi kaedah pelawat, yang mengakses mengikut jenis haiwan yang dilalui.

Dalam pelaksanaan khusus Pelawat , dua pelawat, AnimalCountVisitor dan AnimalFeatureVisitor, ditakrifkan , yang pertama digunakan untuk mengira bilangan jenis haiwan yang berbeza, dan yang kedua digunakan untuk mencetak atribut jenis haiwan yang berbeza.

Ringkasan

Kelebihan

Cara menggunakan corak pelawat Java untuk mengendalikan struktur objek dengan cara yang cantik

Asingkan algoritma dan objek: Corak pelawat memungkinkan untuk memisahkan algoritma dan objek, kerana algoritma ditakrifkan dalam pelawat dan objek itu mendedahkan datanya sendiri kepada pelawat apabila ia diakses.

Skala yang baik: Mod ini boleh menambah operasi baharu dengan mudah tanpa menjejaskan struktur objek sedia ada, kerana mod pelawat memisahkan struktur objek daripada operasi.

Ikut prinsip buka-tutup: Corak pelawat mematuhi prinsip buka-tutup kerana anda boleh menambah pelawat baharu dan jenis elemen baharu tanpa mengubah kod sedia ada.

  • Logik Kod Ringkas: Corak pelawat memisahkan objek dan operasi, memudahkan logik kod.

  • Kelemahan

  • Kesukaran menambah baharu jenis elemen : Apabila jenis elemen baharu perlu ditambah, antara muka pelawat sedia ada mesti diubah suai, yang boleh membawa kepada pengubahsuaian pada kod sedia ada. memerlukan objek Data dalaman terdedah kepada pelawat, yang mungkin memusnahkan enkapsulasi objek

  • Senario aplikasi

Apabila a. struktur objek kompleks perlu diproses Apabila melakukan operasi tanpa mendedahkan pelaksanaan dalamannya, anda boleh menggunakan corak pelawat

  • Apabila anda perlu menambah beberapa operasi baharu pada setiap objek dalam struktur objek. tanpa menjejaskan hierarki kelasnya Corak Pelawat boleh digunakan.

  • Corak Pelawat boleh digunakan apabila hierarki kelas sesuatu objek berubah tetapi operasinya kekal stabil.

Apabila anda perlu menentukan secara dinamik operasi yang akan dilakukan pada masa jalan, anda boleh menggunakan corak pelawat.

Atas ialah kandungan terperinci Cara menggunakan corak pelawat Java untuk mengendalikan struktur objek dengan cara yang cantik. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan