אגרגציה לעומת קומפוזיציה

מְחַבֵּר: Laura McKinney
תאריך הבריאה: 4 אַפּרִיל 2021
תאריך עדכון: 13 מאי 2024
Anonim
Association vs Aggregation vs. Composition
וִידֵאוֹ: Association vs Aggregation vs. Composition

תוֹכֶן

ההבדל העיקרי בין צבירה לקומפוזיציה הוא שבצבירה יש קשר בין ילד הורה שבו ילד יכול להתקיים באופן עצמאי ואילו הרכב הוא קשר לילד הורה בו ילד אינו יכול להתקיים באופן עצמאי ללא הורה.


אסוציאציה היא מושג חשוב מאוד בתכנות מונחה עצמים. בתכנות מונחה עצמים הנתונים מוסתרים מפונקציות שאינן חברות בכיתה. רק פונקציית החברים בכיתה יכולה להשתמש בנתונים. כל פונקציה שאינה חברים יכולה לשנות את הנתונים שנמצאים במחלקת הפונקציות. אובייקט וכיתות הם המושגים העיקריים של תכנות מונחה עצמים. אנקפסולציה של נתונים המכונה גם הפשטה וירושה מושגת גם בתכנות מונחה עצמים. אגרגציה והרכב הם סוגים של אסוציאציה ומהווים מושג חשוב מאוד בתכנות מונחה עצמים. במצטבר, יש קשר לילד הורה בו ילד יכול להתקיים באופן עצמאי ואילו הרכב הוא קשר לילד הורה בו ילד אינו יכול להתקיים באופן עצמאי ללא הורה. לקומפוזיציה פרדיגמה נפוצה בתכנות מונחה עצמים חשובה מאוד בפיתוח תוכנה. צורת ההתאגדות המגבילה היא קומפוזיציה בה יש קשר לילד הורה בו הילד אינו יכול להתקיים באופן עצמאי ללא הורה. ב- UML הוא מיוצג על ידי יהלום מוצק זעיר.

בהרכב ניתן לחבר את החלק המרכיב לרוב ההרכבה. כיתה אחת הופכת למכולה וכיתה אחרת הופכת לתוכן שנמצא בכלי ההוא. שיש להם חלק בירושה קל מאוד, ושיטה של ​​כיתה אחת יכולה לשמש בלי אפילו לכתוב שוב את הקוד. יש קומפוזיציה "חלק מהקשר". אגרגציה היא מערכת יחסים עם כיתת אסיפה לכיתה המכוננת. ב- UML שהיא שפת דוגמנות אחידה המציגה יחסי צבירה עם קטע קו. אגרגציה מציגה קשרים כמו אחד לאחד, אחד לרבים, רבים לרבים. אם בכיתה יחידה יש ​​מחלקה מרובה, ישנם מערכות יחסים רבות-רבות, בעוד שלכיתה אחת יש אובייקטים מרובים היא מערכת היחסים הרבה-אחת. "יש" הוא מערכת יחסים המתוארת בצבירה.


תוכן: ההבדל בין צבירה וקומפוזיציה

  • טבלת השוואה
  • מה זה אגרגציה?
  • הבדלים עיקריים
  • סיכום
  • סרטון הסבר

טבלת השוואה

בסיסאגרגציה הרכב
משמעותבמצטבר, יש קשר לילד הורה בו הילד יכול להתקיים באופן עצמאי

הקומפוזיציה היא מערכת יחסים של ילד הורה בו ילד אינו יכול להתקיים באופן עצמאי ללא הורה.

 

אגודהיש קשר חלש בהצטברות.יש קשר חזק בהרכב.
UMLב- UML ניתן להגדיר צבירה באמצעות קטע השורותב- UML ניתן להגדיר הרכב באמצעות יהלום.
פונקציהלמחיקת ההרכבה אין השפעה בצבירה.מחיקת הרכב יכולה להשפיע על ההרכב

מה זה אגרגציה?

אגרגציה היא מערכת יחסים עם כיתת אסיפה לכיתה המכוננת. ב- UML שהיא שפת דוגמנות אחידה המציגה יחסי צבירה עם קטע קו. אגרגציה מציגה קשרים כמו אחד לאחד, אחד לרבים, רבים לרבים. אם בכיתה יחידה יש ​​מחלקה מרובה, ישנם מערכות יחסים רבות-רבות, בעוד שלכיתה אחת יש אובייקטים מרובים היא מערכת היחסים הרבה-אחת. "יש" הוא מערכת יחסים המתוארת בצבירה.


מה זה הרכב?

צורת ההתאגדות המגבילה היא קומפוזיציה בה יש קשר לילד הורה בו הילד אינו יכול להתקיים באופן עצמאי ללא הורה. ב- UML הוא מיוצג על ידי יהלום מוצק זעיר. בהרכב ניתן לחבר את החלק המרכיב לרוב ההרכבה. כיתה אחת הופכת למכולה וכיתה אחרת הופכת לתוכן שנמצא בכלי ההוא. שיש להם חלק בירושה קל מאוד, ושיטה של ​​כיתה אחת יכולה להיות שימוש אפילו בלי לכתוב שוב את הקוד. יש קומפוזיציה "חלק מהקשר".

הבדלים עיקריים

  1. במצטבר יש קשר לילד הורה בו ילד יכול להתקיים באופן עצמאי ואילו הרכב הוא קשר לילד הורה שבו ילד אינו יכול להתקיים באופן עצמאי ללא הורה.
  2. יש קשר חלש בהצטברות בעוד שיש קשר חזק בהרכב ואילו יש קשר חזק בהרכב.
  3. ב- UML ניתן להגדיר צבירה באמצעות קטע קו ואילו בהרכב UML ניתן להגדיר באמצעות יהלום.
  4. למחיקת ההרכבה אין השפעה בצבירה ואילו מחיקת ההרכב יכולה להשפיע בהרכב

סיכום

במאמר זה לעיל אנו רואים את ההבדל הברור בין צבירה להרכב עם דוגמאות.

סרטון הסבר