หลังจากเรียนมาหลายปีแล้วฉันพบปัญหา กินดีและนอนหลับได้ดี
โอเคมาดูกันว่ากระบวนการตั้งชื่อของครูใช้อย่างไร:
1. ตามปกติ ก่อนอื่นให้กำหนดคลาสอินเทอร์เฟซครู:
การคัดลอกรหัสมีดังนี้:
ครูอินเทอร์เฟซสาธารณะ {
Public Iterator CreateIterator ();
-
2. คลาสครูเฉพาะ (Concreteteacher) คือการดำเนินการของอินเทอร์เฟซครู (ครู):
การคัดลอกรหัสมีดังนี้:
Concreteteacher คลาสสาธารณะใช้ครู {
วัตถุส่วนตัว [] ปัจจุบัน = {"จางซานอยู่ที่นี่", "Li Si อยู่ที่นี่", "Wang Wu ไม่ได้อยู่ที่นี่"};
Public Iterator CreateIterator () {
ส่งคืนคอนกรีตใหม่ (นี่);
-
การรับวัตถุสาธารณะ (ดัชนี int) {// รับการเข้าร่วมปัจจุบันของเพื่อนร่วมชั้น
if (index <present.length) {
คืนปัจจุบัน [ดัชนี];
-
อื่น{
คืนค่า null;
-
-
public int getsize () {
Return.length;
-
-
3. กำหนด คลาสอินเตอร์เฟสตัววนซ้ำ:
การคัดลอกรหัสมีดังนี้:
Iterator อินเทอร์เฟซสาธารณะ {
เป็นโมฆะก่อน ();
เป็นโมฆะถัดไป ();
บูลีน iSdone ();
Object CurnitItem ();
-
4. คลาสคอนกรีตเทอร์เทอเรเตอร์เฉพาะ คือการใช้งานอินเตอร์เฟสตัววนซ้ำ:
การคัดลอกรหัสมีดังนี้:
คอนกรีตเทอเรเตอร์ระดับสาธารณะใช้ iterator {
ครูคอนกรีตส่วนตัว;
ดัชนี int ส่วนตัว = 0;
ขนาด int ส่วนตัว = 0;
Concreteiterator สาธารณะ (ครู Concreteteacher) {
นี่ครู = ครู;
size = teacher.getSize ();
ดัชนี = 0;
-
โมฆะสาธารณะก่อน () {// ก่อน
ดัชนี = 0;
-
โมฆะสาธารณะ next () {// ถัดไป
ถ้า (ดัชนี <ขนาด) {
ดัชนี ++;
-
-
Public Boolean iSdone () {// เป็นชื่อที่เสร็จสมบูรณ์
return (index> = size);
-
วัตถุสาธารณะ CurpantItem () {// การเข้าร่วมปัจจุบันของเพื่อนร่วมชั้น
ส่งคืนครู GetElement (ดัชนี);
-
-
5. เขียนคลาสทดสอบ :
การคัดลอกรหัสมีดังนี้:
การทดสอบชั้นเรียนสาธารณะ {
ตัววนซ้ำส่วนตัว
ครูสอนเอกชน = คอนกรีตผู้เข้าร่วมใหม่ ();
การดำเนินการโมฆะสาธารณะ () {
มัน = อาจารย์. createTeritor (); // ครูเริ่มโทรหา
ในขณะที่ (! it.isdone ()) {// ถ้าคุณยังไม่ได้คลิกเสร็จสิ้น
System.out.println (it.currentitem (). ToString ());
it.next ();
-
-
โมฆะคงที่สาธารณะหลัก (สตริง agrs []) {
ทดสอบทดสอบ = การทดสอบใหม่ ();
test.operation ();
-
-
6. คำอธิบาย :
ตอบ: คำจำกัดความ: รูปแบบตัววนซ้ำสามารถเข้าถึงองค์ประกอบที่รวมตามลำดับโดยไม่เปิดเผยสถานการณ์ภายในของการรวม
B: ในตัวอย่างนี้ครูจะให้อินเทอร์เฟซเพื่อสร้างวัตถุตัววนซ้ำและตัววนซ้ำกำหนดอินเทอร์เฟซที่จำเป็นในการสำรวจการเข้าร่วมของนักเรียน
C: ข้อได้เปรียบของโหมด Iterator คือเมื่อมีการเปลี่ยนแปลงในวัตถุ (Concreteteacher) เช่นนักเรียนใหม่จะถูกเพิ่มเข้าไปในชุดการเข้าร่วมเพื่อนร่วมชั้นหรือเพื่อนร่วมชั้นน้อยลงจะลดลงการเปลี่ยนแปลงนี้ไม่มีผลต่อลูกค้า