Artikel ini menjelaskan penggunaan mode prototipe untuk Java untuk menunjukkan kehidupan sehari -hari. Bagikan untuk referensi Anda, sebagai berikut:
1. Definisi Pola
Tentukan jenis objek yang akan dibuat dengan instance prototipe dan buat objek baru dengan menyalin prototipe ini.
2. Contoh model
1 analisis pola
Kami menggunakan situasi kerja sehari -hari untuk menggambarkan model ini.
2 Diagram Analisis Alur Alur cerita
3 Mode Prototipe Pemodelan Statis
4 Contoh Kode
4.1 Pembuatan Prototipe
Paket com.prototype.pojo;/** * Kelas kehidupan sehari-hari * * @author * */kelas publik Daylife mengimplementasikan kloning {// Metode konstruksi daylife publik () {System.out.println ("-Metode konstruksi dieksekusi!-"); } // Bangun getup string pribadi; // Ambil Bus Private String Bybus; // turun dan beli sarapan pribadi getfood; // tidur siang di siang hari; // Mulailah bekerja di sore hari kerja sore hari; // pulang dari get off work string pribadi gohom; // Malam Ruang Privat Leisure Night; string publik getGetup () {return getUp; } public void setgetup (string getUp) {this.getup = getUp; } public String getByBus () {return Bybus; } public void setByBus (String BYBUS) {this.bybus = bybus; } public String getGetFood () {return getFood; } public void setgetFood (String getFood) {this.getFood = getFood; } public String getNoon () {return noon; } public void setnoon (string noon) {this.noon = noon; } public string getafternoonwork () {return sorework; } public void setafternoonwork (string sorework) {this.afternoonwork = sorework; } public String getGoHome () {return gohome; } public void setGoHome (String gohome) {this.gohome = gohome; } public string getnight () {return night; } public void setnight (string night) {this.night = night; } / *** Cetak informasi kehidupan sehari -hari* / public void print () {System.out.println (this.getGetup ()); System.out.println (this.getByBus ()); System.out.println (this.getGetFood ()); System.out.println (this.getnoon ()); System.out.println (this.getafternoonwork ()); System.out.println (this.getGoHome ()); System.out.println (this.getnight ()); } / *** Metode klon* / @override Public Daylife Clone () {coba {// Panggil metode klon superclass (superclass? Tidak ada kelas yang terintegrasi? Dari mana superclass berasal? Jangan lupa, semua kelas adalah subclass objek!) Return (daylife) super.clone (); } catch (Exception e) {} return null; }}4.2 Buat pabrik abstrak yang menghasilkan objek prototipe
Paket com.prototype.factory; import com.prototype.pojo.daylife;/** * Kelas pabrik * * @author * */antarmuka publik ilifefactory {/** * Objek Daylife Produksi * * @return */public daylife getNewInstance ();}4.3 Buat pabrik tertentu untuk menghasilkan objek prototipe
package com.prototype.factory.impl;import com.prototype.factory.ILifeFactory;import com.prototype.pojo.DayLife;/** * Factory implementation class* * @author * */public class LifeFactoryImpl implements ILifeFactory { // DayLife object instance is used to initialize private static DayLife dayLife = null; /** * GetNewInstance Metode Implementasi: * * Pertama tentukan apakah Daylife adalah NULL: * Jika nol, gunakan yang baru untuk membuat objek Daylife, atur konten awal, lalu tetapkan ke instance objek Daylife, dan kemudian kembali; * Jika bukan NULL, gunakan metode klon Daylift untuk menghasilkan objek baru dan menyalinnya ke objek Daylife, dan kemudian mengembalikan */ @Override Public Daylife getNewInstance () {// Tentukan apakah daylife adalah null if (daylife == null) {// jika null // outpute adalah objek yang dihasilkan menggunakan baru yang dihasilkan. Catatan: Gunakan ini baru sekali sekali! System.out.println ("Daylife Baru!"); // Tetapkan isi daylife daylife = daylife baru (); daylife.setgetup ("Dapatkan bangun jam 7:00"); daylife.setbybus ("Ambil bus di 7:30"); daylife.setGetFood ("GetGetGet turun di halte bus dekat perusahaan pukul 8:30, dan ketika melewati mobil sarapan di sebelah jalan, Anda akan membeli sarapan dan membawanya ke perusahaan bersama"); daylife.setnoon ("Makan siang diselesaikan di sebuah restoran kecil di dekat perusahaan, dan kemudian tidur siang di kursi kantor"); daylife.setafternoonwork ("13:30 dimulai sore kerja"); daylife.setgoHome ("17:30 keluar pekerjaan tepat waktu"); daylife.setnight ("Evening Entertainment"); } else {// jika tidak null // output adalah objek yang dihasilkan menggunakan clone metode system.out.println ("Clone Daylife!"); // Tetapkan objek klon ke Daylife dan kembali Daylife = daylife.clone (); } return daylife; }}4.4 Tampilan Skenario Kerja Harian
Paket com; import com.prototype.factory.ilifefactory; import com.prototype.factory.impl.lifefactoryImpl; LifeFactoryImpl (); // cetak konten default daylife lifeFactory.getNewInstance (). Print (); // Dapatkan daylife lagi, ubah konten getup dan konten output System.out.println ("------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ daylife2.setgetup ("Saya tinggal di tempat tidur di pagi hari! Saya bangun sampai jam 7 :: 30!");Hasil berjalan
Daylife baru!
- Metode konstruksi telah dieksekusi! -
Bangun pukul 7:00
Ambil bus pukul 7:30
Turun di halte bus dekat perusahaan pukul 8:30. Saat melewati mobil sarapan di sebelah jalan, Anda akan membeli sarapan dan membawanya ke perusahaan untuk makan siang. Kemudian tidur siang di kursi kantor.
Pekerjaan sore dimulai pukul 13:30
Get Off tepat waktu pada pukul 17:30 dan bersenang -senang di malam hari
----------------------------
Klone Daylife!
Tinggal di tempat tidur di pagi hari! 7 :: 15 sebelum bangun!
Ambil bus pukul 7:30
Turun di halte bus dekat perusahaan pukul 8:30. Saat melewati mobil sarapan di sebelah jalan, Anda akan membeli sarapan dan membawanya ke perusahaan untuk makan siang. Kemudian tidur siang di kursi kantor.
Pekerjaan sore dimulai pukul 13:30
Get Off tepat waktu pada pukul 17:30 dan bersenang -senang di malam hari
3. Desain asli model ini
1 Metode konstruktor objek tidak dieksekusi saat mengkloning objek
2 salinan dangkal dan salinan yang dalam
4. Gunakan kesempatan
1 Proses menghasilkan mitra relatif rumit, dan inisialisasi membutuhkan banyak sumber daya.
2 Saat Anda ingin prototipe kerangka kerja dan objek yang dihasilkan dipisahkan
3 Ketika objek yang sama dapat diakses oleh penelepon lain secara bersamaan
Untuk informasi lebih lanjut tentang algoritma java, pembaca yang tertarik dengan situs ini dapat melihat topik: "struktur data java dan tutorial algoritma", "ringkasan tips node dom java", "ringkasan file operasi java dan direktori" dan "ringkasan tip operasi java cache" tips java "tips java" Tips "Java Cache Tips"
Saya harap artikel ini akan membantu pemrograman Java semua orang.