การเขียนโปรแกรมเชิงวัตถุเป็นกระบวนทัศน์ทั่วไปที่ใช้ในการพัฒนาซอฟต์แวร์ วัตถุเป็นตัวอย่างของคลาสที่สร้างโดยคลาส วัตถุทำงานร่วมกันผ่านลิงก์ ลิงค์คือการเชื่อมต่อทางกายภาพและแนวคิดที่มีอยู่ระหว่างวัตถุ คอลเลกชันของลิงค์ที่มีโครงสร้างและซีแมนทิกส์คล้ายกันนั้นถูกอธิบายว่าเป็น สมาคม
แผนภูมิเปรียบเทียบ
พื้นฐานสำหรับการเปรียบเทียบ | การรวมตัว | ส่วนประกอบ |
---|---|---|
ขั้นพื้นฐาน | ในการรวมมีความสัมพันธ์ที่เด็กสามารถมีอิสระจากผู้ปกครอง | ในการจัดองค์ประกอบที่ไม่สามารถอยู่ได้อย่างอิสระจากผู้ปกครอง |
ประเภทของความสัมพันธ์ | "มี" | "เป็นส่วนหนึ่งของ" |
ประเภทสมาคม | สมาคมที่อ่อนแอ | การเชื่อมโยงที่แข็งแกร่ง |
สัญลักษณ์การออกแบบ UML | เป็นตัวแทนของเพชรกลวงถัดจากชั้นประกอบ | เป็นตัวแทนของเพชรแข็งถัดจากชั้นประกอบ |
ฟังก์ชัน | การลบชุดประกอบไม่ได้ส่งผลกระทบต่อชิ้นส่วน | หากลบคลาสอ็อบเจ็กต์ที่เป็นเจ้าของอาจส่งผลกระทบต่ออ็อบเจ็กต์คลาสที่มีอยู่อย่างมีนัยสำคัญ |
ความหมายของการรวม
การรวม สามารถนิยามเป็นความสัมพันธ์กับคลาสแอสเซมบลีไปยังคลาสที่เป็นส่วนประกอบ ความสัมพันธ์ระหว่างวัตถุทั้งสองสามารถแสดงได้โดยการวาดส่วนของเส้นใน UML (Unified Modeling Language)
ตัวอย่างเช่นรถยนต์ประกอบด้วยล้อ, เครื่องยนต์, กระปุกเกียร์, พวงมาลัย, ตัวถังหลักเป็นต้นรถยนต์เป็นชุดประกอบและชิ้นส่วนอื่น ๆ เป็นส่วนประกอบ รถยนต์ต่อล้อคือการรวมตัวหนึ่งรถยนต์กับเครื่องยนต์เป็นการรวมตัวอื่นและอื่น ๆ การจับคู่แต่ละครั้งจะถูกกำหนดเพื่อระบุหลายหลากของส่วนประกอบแต่ละส่วนภายในแอสเซมบลีซึ่งเป็นผลให้สามารถอธิบายจำนวนวัตถุได้
การรวมตัวเป็นประเภทของการเชื่อมโยงซึ่งอธิบายถึงความสัมพันธ์ประเภท “ มี” ระหว่างวัตถุ ตัวอย่างเช่น รถยนต์“ มี” เกียร์และรถยนต์“ มี” เครื่องยนต์ สำหรับความสัมพันธ์แบบหนึ่งต่อหลายคนตัวอย่างคือ รถยนต์“ มี” ล้อหลายล้อ
ความหมายขององค์ประกอบ
องค์ประกอบ ก็เป็นประเภทของการเชื่อมโยง แต่เป็นรูปแบบที่ จำกัด มากขึ้น มันเป็นตัวแทนใน UML โดยเพชรแข็งเล็ก ๆ ที่อยู่ติดกับชั้นประกอบ
ดังนั้นองค์ประกอบหมายถึงการเป็นเจ้าของส่วนที่เป็นส่วนประกอบของทั้งหมด ในที่สุดนี้จะเพิ่มความสะดวกสบายสำหรับการเขียนโปรแกรม การจัดองค์ประกอบสามารถทำให้เกิดการลบของวัตถุที่เป็นส่วนประกอบโดยการลบของวัตถุประกอบ
องค์ประกอบอธิบายความสัมพันธ์ “ ส่วนหนึ่งของ” ตัวอย่างเช่น ใบไม้เป็นส่วนหนึ่งของต้นไม้ ถ้าต้นไม้ถูกทำลายดังนั้นใบไม้จะต้องถูกทำลาย
ความแตกต่างที่สำคัญระหว่างการรวมและองค์ประกอบ
- การรวมเป็นการระบุความสัมพันธ์ที่ลูกและเอนทิตีหลักสามารถดำรงอยู่ได้อย่างอิสระ ในทางตรงข้ามกิจการลูกก็ขึ้นอยู่กับผู้ปกครอง
- ในการรวมมีความสัมพันธ์ "มี" ในขณะที่องค์ประกอบมีความสัมพันธ์ "ส่วนหนึ่งของ" ระหว่างการชุมนุมและวัตถุระดับองค์ประกอบ
- การรวมกันเป็นกลุ่มที่อ่อนแอในขณะที่องค์ประกอบนั้นเป็นสมาคมที่แข็งแกร่งเพราะมีข้อ จำกัด มากกว่า
- ในการออกแบบ UML การรวมตัวจะถูกอธิบายโดยเพชรกลวง ในทางตรงกันข้ามองค์ประกอบภาพเป็นภาพของเพชรที่เป็นของแข็ง
ข้อสรุป
ในการรวมส่วนองค์ประกอบมีการดำรงอยู่อย่างอิสระและสามารถใช้ร่วมกันหรือกำหนดใหม่เพื่อมวลรวมหรือการชุมนุม ในทางกลับกันองค์ประกอบเป็นส่วนหนึ่งของการชุมนุมหรือการรวม นอกจากนี้ชิ้นส่วนจะถูกสร้างขึ้นเมื่อมีการรวมรวมและส่วนที่ถูกทำลายเมื่อรวมถูกทำลาย