כשעוסקים בתכנות מונחה עצמים יש להכיר תחילה את הישויות הבסיסיות ביותר:
אובייקט ומחלקה.
אבני היסוד לפיתוח מונחה אובייקטים:
-
העולם האמיתי מורכב
ממכלול עצמים
-
הפשטה משמעה, זיהוי
התכונות העיקריות של עצם, המייחדות אותו מעצמים אחרים
-
בהיבט המידע- ההתייחסות
להיבט הפעילויות והנתונים
-
היבט הפעילויות- מטרת
הפעילות ידועה, אך דרך השגת המטרה אינה גלויה
-
היבט הנתונים- מיבנה
הנתונים ידוע, אך הגישה אל הנתונים מותרת דרך מנגנון "מורשה"
הפשטה היא אוסף כל זוויות
הראיה.
Martin \ Odell:
"... אובייקט הוא כל דבר מוחשי או מופשט אשר לגביו אנו שומרים מידע ופעילויות
הקשורות למידע זה..."
Booch:
"...לכל אובייקט יש מצב (State),
התנהגות ((Behavior וזיהוי (Identity)..."
-
מאפיינים
-
פעילויות
-
זיהוי
-
מאפיינים וערכים => מצב
-
אוסף הפעילויות => התנהגות
-
קיימים סוגים שונים של אובייקטים:
-
מוחשי (Concrete)
-
לא מוחשי (Intangible)
-
מייצג אירוע
-
מאפיין של אובייקט מתאר אחת מתכונותיו
-
עבור אובייקט מוגדר בזמן נתון, לכן
מאפיין יש ערך (Value)
מוגדר ייחודי
-
מצב (State) הנו אוסף הערכים של המאפיינים בזמן נתון
-
בדרך כלל, אירועים ממשיים המתרחשים
מחוץ למערכת או במסגרתה משנים את מצב האובייקט
-
פעילות (Operation)-
מה האובייקט יכול לעשות, או מה הוא עושה כאשר הוא נקרא לבצע פעילות
-
התנהגות (Behavior)-
מוגדרת כאוסף כל הפעילויות
-
לכל אובייקט יש זיהוי
-
אין משמעות מיוחדת לזיהוי מלבד עצם
העובדה שהוא מזהה את האובייקט
-
הזיהוי אינו מושפע מהמצב של האובייקט
-
אם לשני אובייקטים יש אותו מצב, הם
עדיין שני אובייקטים בעלי זיהוי שונה
-
הזיהוי מאפשר לאובייקט אחד להתייחס
לאחר
-
קבוצה או אוסף של אובייקטים אשר להם במשותף
מאפיינים, פעילויות וקשרים זהים
-
שיוך האובייקטים למחלקות המתאימות
מוגדר כתהליך הסיווג- Classification
-
האובייקט הוא מופע במחלקה-
Instance
-
לכל אובייקט מאפיינים ופעילויות
ה"מוסתרים" באובייקט (Information Hiding)
-
כל אובייקט, הרוצה לקבל או לשנות ערך
באובייקט נתון אחר, חייב לשלוח אליו "בקשת שירות" המוגדר כמסר (Message)
-
פעילויות האובייקט הן המנהלות הן
הנתונים- זוהי הכמסה (אובייקט אחד לא יודע כיצד אובייקט שני מבצע עבורו את השירות
שביקש)
-
קיימת הפרדה ברורה בין המימוש
(המוסתר) לבין הממשק המייצג גם את אפשרות הגישה
-
השירות (Service)- מייצג מה המחלקה יודעת לעשות עבור ה"לקוחות"
-
Method הנו המימוש של השירות
ומייצג כיצד הפעילות מתבצעת
-
אין גישה ישירה לנתונים אלא דרך
הפעילויות
-
ההכמסה מגנה על ה"מצב" הפנימי מפני
"רעשים" מבחוץ או הפרעת ה "לקוחות"
-
המסר הנו בקשה לשירות מאובייקט
"שולח" לאובייקט "מקבל"
-
ה"שולח" מכיר את השירות ,קרי:
פעילות Operation, שהוא מבקש
לבצע עבורו
-
מהיבט היישום: ה"שולח" אינו מכיר
את דרך הביצוע ,ה- Method,
המוסתר ממנו
-
המקבל מבצע את ה-
Method המתאים ומחזיר תוצאה / תשובה
לשולח
הסתיים שיעור 1 העוסק בהיכרות ראשונה עם ה- UML.
בסעיף הבא תוכלו לתרגל את הנושאים שנלמדו בשיעור זה.
לסעיף הבא- תרגול לשיעור 1...
|