โหมดการรวมกันการรวมวัตถุเข้ากับโครงสร้างต้นไม้เพื่อแสดงลำดับชั้น "พทั้งหมดทั้งหมด" โหมดการรวมกันช่วยให้ผู้ใช้สามารถใช้วัตถุแต่ละชิ้นและวัตถุรวมกันอย่างสม่ำเสมอ โหมดการรวมกันช่วยให้ลูกค้าสามารถทำฟังก์ชั่นที่สมบูรณ์ซึ่งจำเป็นต้องมีคำสั่งควบคุมกระบวนการเช่นเดียวกับการแก้ไขไฟล์การกำหนดค่า
คุณสมบัติ: สำหรับโครงสร้างข้อมูลลำดับชั้นแบบเรียกซ้ำหรือเหมือนต้นไม้พวกเขาสามารถประมวลผลได้ในวิธีที่ง่ายที่สุด
แอปพลิเคชันในการพัฒนาระดับองค์กรและกรอบการทำงานที่ใช้กันทั่วไป: โครงสร้างไดเรกทอรีระบบและโครงสร้างการนำทางเว็บไซต์
นี่คือตัวอย่างของโครงสร้างไดเรกทอรี:
สถานการณ์: สมมติว่าตอนนี้เรามีไดเรกทอรีและมีไดเรกทอรีย่อยและไฟล์ภายใต้ไดเรกทอรี ตอนนี้เราต้องการดูไดเรกทอรีทั้งหมดและไฟล์และเวลาการสร้างทั้งหมดในไดเรกทอรี
รหัสเฉพาะมีดังนี้:
แพ็คเกจ com.test.composite; นำเข้า java.util.arraylist; นำเข้า java.util.date; นำเข้า java.util.list; การสาธิตระดับสาธารณะ {โมฆะสาธารณะคงที่ (สตริง [] args) {วันที่ d = วันที่ใหม่ (); dir f1 = ใหม่ dir ("คอลเลกชันของฉัน", d); D.Setyear (2012); dir f2 = ใหม่ dir ("picture", d); dir f3 = new dir ("เพลง", d); D.Setyear (2013); F4 F4 = ใหม่จริง ("Xi Yangyang และ Big Big Wolf.avi", D); f1.add (F4); F5 F5 = ใหม่จริง ("taiyanghua.jpg", d); F6 จริง f6 = ใหม่จริง ("สแตนเลสที่ผิดรูป jpg", d); f2.add (F5); f2.add (F6); f1.add (F2); f1.add (f3); f1.showfile (); }}/*** ก่อนอื่นไดเรกทอรีและไฟล์เป็นของไฟล์ดังนั้นเราจึงสามารถสรุปไฟล์นามธรรม*/อินเทอร์เฟซ AbstractFile {/*** วิธีการแสดงไฟล์*/โมฆะสาธารณะ showfile ();}/*** ไฟล์จริง*/คลาส วันที่ส่วนตัวสร้างขึ้น Public RealualFile (ชื่อสตริง, วันที่ที่สร้างขึ้น) {this.name = name; this.createdate = สร้างขึ้น; } สตริงสาธารณะ getName () {ชื่อคืน; } โมฆะสาธารณะ setName (ชื่อสตริง) {this.name = name; } วันที่สาธารณะ getCreatedate () {return complementate; } โมฆะสาธารณะ setCreatedate (วันที่ที่สร้างขึ้น) {this.createdate = สร้างขึ้น; } / *** ใช้วิธีการแสดงไฟล์ของคลาสไฟล์นามธรรม* / โมฆะสาธารณะ showfile () {system.out.println ("ชื่อไฟล์:"+this.name+"-สร้างเวลา:"+this.createdate.getTime ()); }}/*** ไฟล์ไดเรกทอรี*/คลาส DIR ใช้ AbstractFile {ชื่อสตริงส่วนตัว; วันที่ส่วนตัวสร้างขึ้น / *** เป็นไฟล์ไดเรกทอรีจะมีรายการไฟล์ย่อยเพิ่มเติม*/ รายการส่วนตัว <AbstractFile> list = new ArrayList <> (); Public Dir (ชื่อสตริง, วันที่ที่สร้างขึ้น) {super (); this.name = ชื่อ; this.createdate = สร้างขึ้น; } สตริงสาธารณะ getName () {ชื่อคืน; } โมฆะสาธารณะ setName (ชื่อสตริง) {this.name = name; } วันที่สาธารณะ getCreatedate () {return complementate; } โมฆะสาธารณะ setCreatedate (วันที่ที่สร้างขึ้น) {this.createdate = สร้างขึ้น; } / ** * เพิ่มไฟล์ไดเรกทอรีเพิ่มไฟล์ย่อยหรือไดเรกทอรีย่อยลงในไดเรกทอรี * / โมฆะสาธารณะเพิ่ม (AbstractFile f) {this.list.add (f); } / ** * ลบการทำงานของไฟล์ไดเรกทอรีลบไฟล์ย่อยหรือไดเรกทอรีย่อย * / โมฆะสาธารณะลบ (AbstractFile f) {this.list.remove (f); } / ** * รับการทำงานของไฟล์ไดเรกทอรีรับไฟล์ย่อยหรือไดเรกทอรีย่อยด้านล่างไดเรกทอรี * / สาธารณะนามธรรม getIndex (ดัชนี int) {ส่งคืน this.list.get (ดัชนี); } โมฆะสาธารณะ showfile () {system.out.println ("ชื่อไดเรกทอรี:"+this.name+"-สร้างเวลา:"+this.createdate.getTime ()); สำหรับ (AbstractFile F: list) {F.ShowFile (); -โหมดการรวมกันเป็นเหมือนวิธีการสำรวจ แต่วิธีนี้ยังมีข้อ จำกัด บางอย่างเช่นการกำหนดเป้าหมายข้อมูลที่คล้ายกับโครงสร้างต้นไม้
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น