تصف هذه المقالة استخدام وضع النموذج الأولي لـ Java لإظهار الحياة اليومية. شاركه للرجوع إليه ، على النحو التالي:
1. تعريف نمط
حدد نوع الكائنات المراد إنشاؤها مع مثيلات النموذج الأولي وإنشاء كائنات جديدة عن طريق نسخ هذه النماذج الأولية.
2. أمثلة على النموذج
1 تحليل نمط
نستخدم وضع العمل اليومي لتوضيح هذا النموذج.
2 مخطط تحليل القصة
3 النموذج الأولي النمذجة الثابتة
4 أمثلة رمز
4.1 خلق النموذج الأولي
package com.prototype.pojo ؛/** * فئة الحياة اليومية * * Author * */طبقة DayLife العامة تنفذ clonable {// construct method public daylife () {system.out.println ("-يتم تنفيذ طريقة البناء!-") ؛ } // الحصول على ما يصل إلى getup سلسلة خاصة ؛ // خذ سلسلة الحافلة الخاصة bybus ؛ // توقف وشراء سلسلة الإفطار الخاصة بالسلسلة الخاصة ؛ // خذ قيلولة عند الظهر ؛ // ابدأ العمل في فترة ما بعد الظهيرة بعد ظهر اليوم ؛ // اذهب إلى المنزل من إيقاف العمل الخاص بالسلسلة الخاصة ؛ // Night Leisure Private String Night ؛ السلسلة العامة getGetUp () {return getUp ؛ } public void setgetup (String getUp) {this.getup = getUp ؛ } السلسلة العامة getBybus () {return bybus ؛ } public void setbybus (String bybus) {this.bybus = bybus ؛ } سلسلة عامة getGetFood () {return getFood ؛ } public void setgetFood (String getFood) {this.getFood = getFood ؛ } السلسلة العامة getNoon () {return noon ؛ } public void setNoon (سلسلة الظهر) {this.noon = noon ؛ } السلسلة العامة getAfternoonwork () {return peendwork ؛ ) } السلسلة العامة getGoHome () {return goHome ؛ } public void setGoHome (String goHome) {this.gohome = goHome ؛ } السلسلة العامة getight () {return Night ؛ } public void setnight (String Night) {this.night = night ؛ } / *** طباعة معلومات الحياة اليومية* / 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 ()) ؛ } / *** method clone* / Override Public DayLife Clone () {try {// استدعاء طريقة استنساخ الفئة الفائقة (فائقة الفئة؟ لا توجد فئة متكاملة؟ من أين تأتي الفئة الفائقة؟ } catch (استثناء e) {} return null ؛ }}4.2 إنشاء مصنع مجردة يولد كائنات النموذج الأولي
package com.prototype.factory ؛ import com.prototype.pojo.daylife ؛/** * فئة المصنع * * Author * */واجهة عامة ilifefactory {/** * production daylife object * * regurn */public daylife getNewInstance () ؛}4.3 إنشاء مصنع معين لإنشاء كائنات النموذج الأولي
package com.prototype.factory.impl ؛ استيراد com.prototype.factory.ilifeFactory ؛ استيراد com.prototype.pojo.daylife ؛/** * فئة تنفيذ المصنع * * uuthor * */public class lifefactoryimpl تنفذ IlifeFactory {// daylife object eval to tirealize idenive daylife = null ؛ /** * تنفيذ طريقة getNewInstance: * * أولاً حدد ما إذا كانت الحياة النهارية خالية: * إذا كانت فارغة ، فاستخدم جديدًا لإنشاء كائن الحياة اليومي ، وتعيين المحتوى الأولي ، ثم قم بتعيينه إلى مثيل كائن الحياة النهارية ، ثم العودة ؛ * إذا لم يكن الأمر فارغًا ، فاستخدم طريقة استنساخ DayLift لإنشاء كائن جديد ونسخه إلى كائن الحياة النهارية ، ثم أعد */ Override Public Life GetNewInstance () {// تحديد ما إذا كانت الحياة النهارية لاغية إذا (DayLife == null) {// إذا كان الناتج يتم توليده باستخدام كائن جديد. ملاحظة: استخدم هذا الجديد مرة واحدة فقط! System.out.println ("New DayLife!") ؛ // قم بتعيين محتوى DayLife DayLife = newLife () ؛ DayLife.setgetup ("احصل على ما يصل في الساعة 7:00") ؛ DayLife.setbybus ("خذ الحافلة في الساعة 7:30") ؛ DayLife.SetGetFood ("GetGetget تنطلق في محطة الحافلات بالقرب من الشركة في الساعة 8:30 ، وعند تمرير سيارة الإفطار بجانب الطريق ، ستشتري وجبة الإفطار وتأخذها إلى الشركة معًا") ؛ DayLife.setnoon ("يتم حل الغداء في مطعم صغير بالقرب من الشركة ، ثم أخذ قيلولة في مقعد المكتب") ؛ DayLife.SetaFternoOnwork ("13:30 بدأ العمل بعد الظهر") ؛ DayLife.SetGoHome ("17:30 خرج من العمل في الوقت المحدد") ؛ DayLife.setnight ("Evening Entertainment") ؛ } آخر {// إذا لم يكن null // الإخراج هو كائن تم إنشاؤه باستخدام method method system.out.println ("clone daylife!") ؛ // تعيين كائن الاستنساخ إلى الحياة النهارية وإعادة الحياة النهارية = daylife.clone () ؛ } إرجاع الحياة اليومية ؛ }}4.4 عرض سيناريو العمل اليومي
package com ؛ import com.prototype.factory.ilifefactory ؛ import com.prototype.factory.impl.lifeFactoryImpl ؛ Import com.prototy LifeFactoryImpl () ؛ // print Out DayLife Default Content LifeFactory.getNewInstance (). print () ؛ // احصل على الحياة النهارية مرة أخرى ، وتعديل محتوى getup ومحتوى الإخراج System.out.println ("-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ DayLife2.setgetup ("بقيت في السرير في الصباح! استيقظت حتى 7 :: 30!") ؛نتائج التشغيل
الحياة اليومية الجديدة!
- تم تنفيذ طريقة البناء! -
استيقظ في الساعة 7:00
خذ الحافلة في الساعة 7:30
النزول في محطة الحافلات بالقرب من الشركة في الساعة 8:30. عند المرور بجوار سيارة الإفطار بجوار الطريق ، ستشتري وجبة الإفطار وتأخذها إلى الشركة لتناول طعام الغداء. ثم خذ قيلولة في مقعد المكتب.
بدأ عمل ما بعد الظهر في الساعة 13:30
انطلق من العمل في الوقت المناسب الساعة 17:30 واستمتع في الليل
-----------------------------
استنساخ الحياة النهارية!
ابق في السرير في الصباح! 7 :: 15 قبل الاستيقاظ!
خذ الحافلة في الساعة 7:30
النزول في محطة الحافلات بالقرب من الشركة في الساعة 8:30. عند المرور بجوار سيارة الإفطار بجوار الطريق ، ستشتري وجبة الإفطار وتأخذها إلى الشركة لتناول طعام الغداء. ثم خذ قيلولة في مقعد المكتب.
بدأ عمل ما بعد الظهر في الساعة 13:30
انطلق من العمل في الوقت المناسب الساعة 17:30 واستمتع في الليل
3. التصميم الأصلي لهذا النموذج
1 لا يتم تنفيذ طريقة منشئ الكائن عند استنساخ كائن
2 نسخة ضحلة ونسخة عميقة
4. استخدام المناسبات
1 عملية توليد نظيرها معقدة نسبيًا ، والتهيئة تتطلب العديد من الموارد.
2 عندما تريد فصل النموذج الأولي للإطار والكائن الذي تم إنشاؤه
3 عندما يتم الوصول إلى نفس الكائن من قبل المتصلين الآخرين في نفس الوقت
لمزيد من المعلومات حول خوارزميات Java ، يمكن للقراء المهتمين بهذا الموقع عرض الموضوعات: "بنية بيانات Java وبرنامج تعليمي الخوارزمية" ، "ملخص" Tips Java ".
آمل أن يكون هذا المقال مفيدًا لبرمجة Java للجميع.