תכנות מונחה עצמים Object Oriented Programming (OOP) אתגר מחזור ב'
תכנות מונחה עצמים IV
-
Upload
michelle-dillard -
Category
Documents
-
view
30 -
download
0
description
Transcript of תכנות מונחה עצמים IV
תכנות מונחה עצמיםIV
Object Oriented Programmingvs.Procedural Programming
השוואה בין פיתוח תוכנה מונחה עצמים ותכנות
פרוצדוראלי
השוואהתכנות פרוצדורליOOPתכנות
מחולק לאוסף עצמים השולחים הודעות )פונקציה( זה לזה
מחולק לאוסף פרוצדורות )או
פונקציות( הקוראות אחת לשניה
מבנה הקוד
מתחילים מתהליך עיקרי ומזהים עצמים
המשתתפים בו
מתחילים מתהליך עיקרי ומפרטים תהליכי
משנה
תהליך התכן
לכל עצם פעולות ה"שייכות" לו
קשר בין אין קשר קבוע מוגדרפעולה למבצע
הפעולה
ירושה של קטעי קוד בין מחלקות או הפעלת
שירות של עצמים
מבוצע ע"י קריאה לפרוצדורה
שימוש חוזר בקוד
)המשך(השוואה
תכנות פרוצדורליOOPתכנות
העצמים קוראים זה לזה; פעילות העצם תלויה
בקריאה ובמצבו.
הפרוצדורות קוראות זו לזו, כ"א מבצעת
את סדרת הפעולות שהוגדרה לה עד תומה והתוכנית
הראשית מכתיבה את סדר הפעולות.
קריאות במהלך ריצת
התוכנית
התאמת קלטים )איזו לפעולות ולעצמים
פונקציה להפעיל, למשל(
התאמת קלטים לפעולות )פרמטרים
לביצוע הפעולות(
קלטים
)המשך(השוואה
תכנות פרוצדורליOOPתכנות
שימוש באותו שם פונקציה עם פרמטרים
שונים לביצוע התנהגות אחרת
העמסה של לא קייםפונקציות
כל עצם שומר במסגרתו את נתוני מצבו, ומגביל את הגישה לנתונים אלו
יש צורך בהגדרת משתנים גלובליים
שהמידע בהם חשוף לכל
שמירת מידע דינמי
גורמי השוואה נוספים?
הפרוצדורלית והמונחית עצמיםהבדל בין הפרדיגמה (35, עמוד 2004, יוני היבטים)על פי עופרה ברנדס,
:על-פי גישה זו מפתחי תוכנה מחפשים פיתוח מונחה עצמים
ומגדירים אובייקטים המייצגים דרך התנהגות. לאחר מכן
מוגדרים השירותים שהאובייקטים יכולים לתת. מספר אוביקטים
בעלי אותן שיטות יגדירו מחלקה. לגבי כל אוביקט נקבעים
הנתונים המגדירים אותו )ערכי התכנות(. במידה ונמצאים נתונים
. (static)משותפים לכל האובייקטים, הם ייוגדרו בתוך המחלקה
:הפיתוח מתחיל עם הגדרת התהליכים. תכנות פרוצדורלי
הנתונים אינם מהווים חלק אינטרגלי מהבעיה.
בעיית הרמזור(http://www.umsl.edu/~subraman/concepts2.html)מקור
עליכם לפתור את שבמסמך המצורףבהתאם לנתונים הבעיה בשתי דרכים:
בגישה הפרוצדורלית: •
יש לקבוע את הפרוצדורות במערכת התוכנה ואת יחסי הגומלין •ביניהן.
בגישת מונחית עצמים:•
יש לקבוע את המחלקות הנדרשות למימוש המערכת ויחסי •הגומלין ביניהן.
פתרון פרוצדורלי לבעיית הרמזור
לבעיית הרמזורOOפתרון
תרגיל כתה
:עליכם לחבר בעייה המתארת מערכת תוכנה ולבצע עבורה :הצגת פתרון בגישה הפרוצדורלית
יש לקבוע את הפרוצדורות העיקריות במערכת התוכנה ויחסי הגומלין ביניהן
:הצגת פתרון בגישה מונחה עצמיםיש לקבוע את המחלקות הנדרשות למימוש מערכת ויחסי הגומלין ביניהן
.השוואת הפתרונות שהוצעו בשתי הגישות
הפונקציונאליתבדיקת פתרון הבעיה בפרדיגמה .
חקר הקטגוריציה האנושיתפילוסופיה
החל מאריסטו
לפנה"ס(340)
פסיכולוגיהעל בסיסמחקרים
אמפיריים
החל משנות 1960-70
פסיכולוגיה
מודרנית
העולם מחולק לעצמים בעלי תכונות ויכולות אינהרנטיות. עצם משוייך לקטגוריה ראשונית )למשל כלב(,
וקטגוריות ברמה שניה )לדוגמא בעלי חיים(. הקטגוריות אליהן משוייך העצם
מגדירות את תכונותיו.בני האדם מסווגים עצמים ומושגים
לקטגוריות.
הקטגוריות מוגדרות על ידי קבוצת מאפיינים המשותפים לכל המשויכים לה.
קטגוריה יכולה להיות תת קטגוריה של קטגוריה אחרת.
ראיות אמפיריות חדשות לגבי קטגוריזציה, כגון:
הקטגוריה עשויה להיות מוגדרת על ידי "דמיון משפחתי" של המשויכים לה או אב טיפוס,
ללא מאפיינים משותפים.
גבולות הקטגוריה לא ברורים ועשויים להתגמש לפי הצורך.
התנגשות חשיבה "מונחית עצמים" עם הקטגוריזציה הטבעית
קטגוריזציה בחשיבה האנושית
(Lakoff, 1987)מבוסס על
מחלקות בתכנות מונחה עצמים
)Jacobson, 1992 ; Rumbaugh et
al, 1991 ; Meyer, 1988(
נושא
קיים דמיון משפחתי כללי בין המשויכים לבין עצמן, אולם אין בהכרח
קבוצת מאפיינים המשותפת לכולם.
לכל העצמים במחלקה קיימת קבוצת מאפיינים המשותפת לכולם, והיא
.המגדירה את המחלקה
מאפייני המשויכים לקטגוריה/מחלקה
שיוך לקטגוריה מבוצע על ידי ישות מסוימת, ועשוי להיות תלוי במאפייניה
הביולוגיים, המנטליים והתרבותיים.
המחלקה נקבעת על פי קבוצת מאפיינים משותפת של העצמים אותם
מייצגת, תוך שימוש בטקטיקות היא תכן מומלצות.
אופן השיוך
הגבולות של הקטגוריות לא תמיד ברורים, וניתן להיות משויך לקטגוריה
.בדרגה מסוימת
גבולות המחלקות ברורים ומוגדרים. שייכות עצם למחלקה מסוימת היא
בינרית: שייך או לא שייך.
הגדרת גבולות ודרגת שייכות
ניתן להוסיף משויכים חדשים לקטגוריה ובכך להרחיב את גבולותיה,
כאשר היא עדיין נשארת אותה הקטגוריה.
על פי הטקטיקה המומלצת אין לשנות הגדרות של מחלקות קיימות, אלא לרשת מהן מחלקות חדשות ובהן
לבצע שינוי.
גמישות גבולות
משויכים מסוימים עשויים להוות "דוגמא טובה יותר" לקטגוריה
ממשויכים אחרים.
כיון שהמחלקה מוגדרת על ידי קבוצת מאפיינים המשותפת לכל עצמיה,
סטטוס כל העצמים ביחס למחלקה זהה.
מרכזיות
קיימות קטגוריות בהן קיים אב-טיפוס ה"מחולל" או מגדיר את שאר משויכי
הקטגוריה.
קבוצת המאפיינים המגדירה מחלקה היא המגדירה את העצמים המחוללים
ממנה, לא תתכן תופעת אב-טיפוס בהקשר זה.
אב-טיפוס
תרגיל כתה
:מפת מושגים של מושגים בפיתוח מונחה עצמים
.מושגים בכל הפרדיגמות שלמדנו עד כה
סיכום המושג פרדיגמה
כיצד בא לידי ביטוי המושג פרדיגמה בדיון
בפרדיגמה המונחית עצמים?