מבוא
 אתה נמצא ב   [ דף הבית | שטות תכון ויישום תכנה | תכן מונחה עצמים | מבוא ]


מבוא


הגדרות ומושגים:

  • OOD - Object Oriented Design

  • עצם- Object- רכיב של העולם האמיתי ממופה לתחום התוכנה.

  • מחלקה- Class.

  • הדגם- Instance.

  • הורשה- Inheritance.

  • מודול Module))- חלק ניתן להפרדה לוגית (Logically  Separated Part) של מערכת.

  • סיווג- Typing.

מיפוי העצם מגדיר:

  • מבנה נתונים.

  • תהליכי טיפול במבנה הנתונים (פעולות).

  • הודעות לביצוע התהליכים על המבנה.

החלק הפרטי של העצם הוא מבנה הנתונים ותהליכי הטיפול בו.

החלק המשותף (shared) של עצם הם ההודעות המהוות את המנשק אליו.

הודעות אלו אומרות לא "מה" לבצע, אך לא "איך".

במתודה זו מושגים שלושה עקרונות חשובים של הנדסת תוכנה:

  • מודולאריות (Modularity).

  • הפשטה (Abstraction)

  • הסתרת מידע (Information hiding).

 על עקרונות אלו נרחיב בהמשך.

עצמים מאורגנים בצורה מירדית. כל עצם שייך למחלקה (class) מסוימת ויורש (inherit) את מבנה הנתונים הפרטי מהמחלקה.

עצם הוא לפיכך הדגם (instance) של מחלקה שלכל חבריה תכונות (characteristics) דומות.

תיאור עצם:

תיאור עצם נעשה בשני חלקים:

א. תיאור פרוטוקול בו מתוארות ההודעות שהעצם מקבל והפעולות שהוא מבצע עם  קבלתן ("מה").

ב. תיאור מימוש בו מתואר במפורט כיצד העצם מבצע את הפעולות עפ"י ההודעות  ("איך"). זה כולל את המתבצע בחלק הפרטי (המוחבא) של העצם. (תיאור הפרוטוקול מתאים לרמת-על של התוכן ותיאור היישום למפורט).

דוגמאות לתכן מונחה עצמים:

דוגמא א': מילון.

מבנה נתונים- מבנה נתונים מתאים למילון.

פעולות- הוסף מילה, בטל מילה, חפש מילה, החזר הגדרה וכדומה.

הודעות - מצא מילה, הדפס הגדרה.

דוגמא ב': כלי CAD - Computer Aided Design פשוט להציג ולטפל במספר פרימיטיביים בשני ממדים.

הדרישה: כלי המאפשר למשתמש ליצור ולטפל ב conics (עקומות ריבועיות), splines (עקומות) ופוליגונים דו-ממדיים על צג גרפי. המשתמש יכול להזיז, לסובב, לשנות גודל (scale) ולצבוע את הפרימיטיביים, תוך שימוש באמצעי קלט גרפי כגון עכבר.

המחלקה (class): פרימיטיב דו-ממדי מסוג conic, spline או פוליגון.

הפעולות:

יצר פרימיטיב.

קבע מיקום [פרימיטיב] (x,y).

קבל מיקום [פרימיטיב]

שנה מיקום [פרימיטיב]

קבע כיוון [פרימיטיב] (זווית µ)

קבל כיוון [פרימיטיב]

שנה כיוון [פרימיטיב]

קבע גודל [פרימיטיב]

קבל גודל [פרימיטיב]

קבל צבע [פרימיטיב]

שנה גודל [פרימיטיב]

קבע צבע [פרימיטיב]

שנה צבע [פרימיטיב]

בטל פרימיטיב

דיאגראמה:

באופן טבעי העצמים הם פוליגון, conic ו- spline.  נתרכז עתה ב conic.

עצם Conic:

זיהוי העצם: עקומה מיוצגת ע"י:

כלולים בו מעגלים, אליפסות, היפרבולות ופרבולות.

פעולות: כל הפעולות הקיימות עבור פרימיטיב, מושרות על conic ובנוסף:

קבע מקדמים [ל conic] (a,b,c,d,e,f).

קבל מקדמים [של conic].

שנה מקדמים [של conic]

דיאגראמה:

נמשיך כנ"ל עבור spline ו- polygon (לא יפורט).

מעבר נוסף: (עבור conic)

 

עצם מעגל:

זיהוי העצם: עקומה המיוצגת ע"י:

פעולות:

1. כל הפעולות הקיימות עבור conic מושרות על מעגל כאשר: קבע מקדמים [למעגל], מצומצם     עם  bº0.

2. בנוסף נרצה לאפשר הגדרה נוספת למעגל ע"י:

קבע רדיוס [מעגל],

קבל רדיוס [מעגל],

שנה רדיוס [מעגל]. 

הערה:

לפעולות קבע כיוון, שנה כיוון, קבל כיוון אין משמעות במעגל.

נמשיך כנ"ל עבור פרבולה, אליפסה והיפרבולה.

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

 

בשלב זה גמרנו את תיאור הפרוטוקול והשלב הבא הוא תיאור היישום.

 

לסעיף הבא- עקרונות מודל העצמים...

רמה למעלה הבא


[דף הבית] [למד עכשיו UML] [למה להשתמש] [שטות תכון ויישום תכנה] [סמונים מקובלים] [כלי פיתוח] [מלון מונחים] [גלריית תמונות] [ספריה אור קולית] [קישורים] [ביבליוגרפיה] [על האתר] [מפת האתר]