بعد الدراسة لسنوات عديدة ، يبدو أن المعلمين يرغبون في تسمية اسم كثيرًا ، وحتى الاسم أصبح هواية بعض المعلمين. تناول الطعام جيدًا وينام جيدًا.
حسنًا ، دعنا نلقي نظرة على كيفية تنفيذ عملية تسمية المعلم:
1. كالعادة ، دعونا أولاً نحدد فصل واجهة المعلم:
نسخة الكود كما يلي:
مدرس الواجهة العامة {
ITERATOR العامة CREATICITERATOR () ؛
}
2. الفصل المعلم المحدد (Concretetacher) هو تطبيق واجهة المعلم (المعلم):
نسخة الكود كما يلي:
يقوم Concreteteacher بالطبقة العامة بتنفيذ المعلم {
كائن خاص [] حاضر = {"Zhang San هنا" ، "Li Si هنا" ، "Wang Wu ليس هنا"} ؛
ITERATARATOR العامة CREATEITERATOR () {
إرجاع ConcreteIter New (هذا) ؛
}
الكائن العام getElement (int index) {// احصل على الحضور الحالي لزميل الفصول
if (index <present.length) {
العودة الحاضر [الفهرس] ؛
}
آخر{
العودة لاغية.
}
}
GetSize () {{
إرجاع الحاضر.
}
}
3. حدد فئة واجهة Iterator:
نسخة الكود كما يلي:
ايتراتور الواجهة العامة {
باطلة أولا () ؛
void التالي () ؛
منطقية ISDONE () ؛
كائن CurrentIm () ؛
}
4. فئة ConcreteIterator المحددة هي تنفيذ واجهة Iterator:
نسخة الكود كما يلي:
ينفذ concreteiterator من الطبقة العامة ايتراتور {
مدرس خاص concreteteacher ؛
مؤشر int الخاص = 0 ؛
حجم int الخاص = 0 ؛
ConcreteIterator العام (مدرس Concreteteacher) {
this.teacher = المعلم ؛
الحجم = المعلم.
الفهرس = 0 ؛
}
public void first () {// first
الفهرس = 0 ؛
}
void public next () {// next
if (index <size) {
فهرس ++ ؛
}
}
المنطقي العام ISDONE () {// هو الاسم المكتمل
العودة (الفهرس> = الحجم) ؛
}
الكائن العام CurrentItem () {// الحضور الحالي لزملاء الدراسة
إرجاع المعلم.
}
}
5. اكتب فصول الاختبار :
نسخة الكود كما يلي:
اختبار الفئة العامة {
التكرار الخاص
معلم المعلم الخاص = concretetacher جديد () ؛
عملية الفراغ العام () {
IT = Teacher.Creatisterator () ؛
بينما (! it.isdone ()) {// إذا لم تكن قد انتهيت من النقر فوق
System.out.println (IT.CurrentItem (). ToString ()) ؛
it.next () ؛
}
}
الفراغ الثابت العام (سلسلة Agrs []) {
اختبار اختبار = اختبار جديد () ؛
test.operation () ؛
}
}
6. الوصف :
ج: التعريف: يمكن أن يصل نمط التكرار إلى عنصر مجمعة بالتسلسل دون تعريض الوضع الداخلي للمجموعة.
ب: في هذا المثال ، يعطي المعلم واجهة لإنشاء كائن Iterator ، ويحدد Iterator الواجهة المطلوبة لاجتياز حضور الطلاب.
C: تتمثل ميزة وضع Iterator في أنه عندما يكون هناك تغيير في كائن (Concretetacher) ، مثل إضافة الطلاب الجدد إلى مجموعة حضور زميل في الفصل ، أو يتم تقليل عدد أقل من زملاء الدراسة ، فإن هذا التغيير ليس له تأثير على العميل.