Di bawah ini saya akan menggunakan dua contoh untuk sepenuhnya menggambarkan skalabilitas polimorfik di Java. Sebagai programmer yang sangat baik, Anda harus memahami skalabilitas program, yang sangat kondusif untuk pengembangan program selanjutnya.
Contoh pertama:
Gunakan motherboard komputer sebagai contoh. Untuk motherboard komputer yang kami kenal, apakah ada banyak modul, kartu jaringan, dan kartu suara di dalamnya? Jika Anda ingin menggunakan fungsi -fungsi ini, Anda hanya dapat menggunakan motherboard untuk menjalankan dan kemudian memberi daya kartu jaringan dan kartu suara. Tapi bagaimana ini bisa dicapai dalam bahasa perangkat lunak? Apakah Anda harus menjalankan motherboard terlebih dahulu, dan kemudian kartu suara atau kartu jaringan berjalan? Namun dengan cara ini, ekspansi tidak tinggi, dan pengoperasian menjalankan kartu suara dan kartu jaringan diulang. Selain itu, banyak modul juga memiliki fungsi seperti itu, sehingga Anda dapat dengan mudah menjalankan modul di motherboard. Ini adalah salah satunya. Jika, pada hari itu, ketika teknologi diperbarui dan modul baru muncul, apakah Anda perlu membuat objek modul dan kemudian jalankan lagi? Ini jelas tidak kondusif untuk pembangunan. Namun, untuk masalah ini, setelah produsen motherboard berdiskusi dengan kartu suara dan produsen kartu jaringan, mereka akan menggunakan antarmuka PCI untuk menghubungkan motherboard dan modul di masa depan, yang sepenuhnya memecahkan masalah ketidakmampuan untuk menggunakan atau menggunakan pembaruan yang digunakan kembali. Ini sesuai dengan polimorfisme di Java kami. Menggunakan polimorfisme, kami dapat sangat meningkatkan skalabilitas program!
Kode spesifiknya adalah sebagai berikut!
/*Persyaratan: Contoh menjalankan komputer, komputer berjalan berdasarkan motherboard. */antarmuka pci {public void open (); public void close ();} kelas mainboard {public void run () {System.out.println ("mainboard run"); } public void USEPCI (PCI P) // PCI P = netcard baru () // Referensi antarmuka titik ke objek subkelasnya sendiri. {if (p! = null) {p.open (); p.close (); }}} kelas NetCard mengimplementasikan pci {public void open () {System.out.println ("NetCard Open"); } public void close () {System.out.println ("NetCard Close"); metode(); }} class SoundCard mengimplementasikan PCI {public void open () {System.out.println ("SoundCard Open"); } public void close () {System.out.println ("SoundCard Close"); }}/*class mainboard {public void run () {System.out.println ("Mainboard run"); } public void useNetCard (NetCard C) {c.open (); c.close (); }} kelas NetCard {public void open () {System.out.println ("NetCard Open"); } public void close () {System.out.println ("NetCard Close"); }}*/class duotaidemo5 {public static void main (string [] args) {mainboard mb = mainboard baru (); mb.run (); mb.usepci (null); mb.usepci (netcard baru ()); mb.usepci (soundcard baru ()); }}Contoh kedua:
Gunakan database umum untuk menjelaskan polimorfisme. Adapun database yang kami kenal, saat ini ada dua mode koneksi database: koneksi JDBC dan Hibernatelian. Saat menggunakan database, ada dua operasi penting: koneksi dan penutupan. Saat ini, gunakan antarmuka untuk merangkum kedua operasi ini, dan Anda perlu menggunakan mode koneksi untuk secara langsung mengubah nama kelas!
Kode spesifiknya adalah sebagai berikut!
/*Persyaratan: Operasi Basis Data. Data adalah: Informasi Pengguna. 1. Sambungkan ke database. JDBC Hibernate2, mengoperasikan database. c Buat r Baca u update d delete3, tutup koneksi database. */antarmuka userInfodao {public void add (pengguna pengguna); public void delete (pengguna pengguna);} kelas userinfobyjdbc mengimplementasikan userInofdao {public void add (pengguna pengguna) {1, jdbc terhubung ke database. ; 2. Gunakan SQL untuk menambahkan pernyataan untuk menambahkan data. ; 3, tutup koneksi. } public void delete (pengguna pengguna) {1, JDBC terhubung ke database. ; 2. Gunakan pernyataan SQL Add untuk menghapus data. ; 3, tutup koneksi. }} class userInfobyhibernate mengimplementasikan userInfodao {public void add (pengguna pengguna) {1, hibernate terhubung ke database. ; 2. Gunakan SQL untuk menambahkan pernyataan untuk menambahkan data. ; 3, tutup koneksi. } public void delete (pengguna pengguna) {1, hibernate terhubung ke database. ; 2. Gunakan pernyataan SQL Add untuk menghapus data. ; 3, tutup koneksi. }} class dBoPerate {public static void main (string [] args) {// userinfobyjdbc ui = UserInInfobyjdbc (); // userinfobyhibernate ui = Userinfobyhibernate (); UserInfodao UI = UserInInfobyHibeNate baru (); ui.add (pengguna); ui.delete (pengguna); }}Meringkaskan:
1. Kedua contoh menggunakan antarmuka untuk abstrak beberapa operasi berulang. Untuk mengaktifkan berbagai modul untuk menggunakan operasi ini secara langsung dan cepat, kami dapat secara langsung menggunakan transformasi ke atas polimorfik (lihat blog saya sebelumnya), dan kemudian menggunakan referensi kelas induk untuk menyebutnya. Ngomong -ngomong, tidak peduli apakah teknologi diperbarui dan modul baru tersedia atau modul yang ada diganti, kita dapat menggunakan referensi kelas induk untuk secara langsung memanggil operasi umum mereka!
2. Anda tidak perlu menggunakan antarmuka, Anda juga dapat menggunakan kelas abstrak. Namun, menggunakan antarmuka akan lebih terukur. Jika Anda memperbaruinya di masa mendatang, Anda dapat secara langsung mengubah antarmuka tanpa mengubah kelas abstrak. Kedua, menggunakan antarmuka dapat lebih diwariskan! Ini juga tempat yang nyaman.
Artikel di atas Java menggunakan dua contoh untuk sepenuhnya menggambarkan skalabilitas polimorfisme. Ini semua konten yang saya bagikan dengan Anda. Saya harap Anda dapat memberi Anda referensi dan saya harap Anda dapat mendukung wulin.com lebih lanjut.