תכנות מונחה עצמים IV

14
ההההה ההההה הההההIV

description

תכנות מונחה עצמים IV. Object Oriented Programming vs. Procedural Programming. השוואה בין פיתוח תוכנה מונחה עצמים ותכנות פרוצדוראלי. השוואה. השוואה (המשך). השוואה (המשך). הבדל בין הפרדיגמה הפרוצדורלית והמונחית עצמים (על פי עופרה ברנדס, היבטים , יוני 2004, עמוד 35). - PowerPoint PPT Presentation

Transcript of תכנות מונחה עצמים IV

Page 1: תכנות מונחה עצמים  IV

תכנות מונחה עצמיםIV

Page 2: תכנות מונחה עצמים  IV

Object Oriented Programmingvs.Procedural Programming

השוואה בין פיתוח תוכנה מונחה עצמים ותכנות

פרוצדוראלי

Page 3: תכנות מונחה עצמים  IV

השוואהתכנות פרוצדורליOOPתכנות

מחולק לאוסף עצמים השולחים הודעות )פונקציה( זה לזה

מחולק לאוסף פרוצדורות )או

פונקציות( הקוראות אחת לשניה

מבנה הקוד

מתחילים מתהליך עיקרי ומזהים עצמים

המשתתפים בו

מתחילים מתהליך עיקרי ומפרטים תהליכי

משנה

תהליך התכן

לכל עצם פעולות ה"שייכות" לו

קשר בין אין קשר קבוע מוגדרפעולה למבצע

הפעולה

ירושה של קטעי קוד בין מחלקות או הפעלת

שירות של עצמים

מבוצע ע"י קריאה לפרוצדורה

שימוש חוזר בקוד

Page 4: תכנות מונחה עצמים  IV

)המשך(השוואה

תכנות פרוצדורליOOPתכנות

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

בקריאה ובמצבו.

הפרוצדורות קוראות זו לזו, כ"א מבצעת

את סדרת הפעולות שהוגדרה לה עד תומה והתוכנית

הראשית מכתיבה את סדר הפעולות.

קריאות במהלך ריצת

התוכנית

התאמת קלטים )איזו לפעולות ולעצמים

פונקציה להפעיל, למשל(

התאמת קלטים לפעולות )פרמטרים

לביצוע הפעולות(

קלטים

Page 5: תכנות מונחה עצמים  IV

)המשך(השוואה

תכנות פרוצדורליOOPתכנות

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

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

העמסה של לא קייםפונקציות

כל עצם שומר במסגרתו את נתוני מצבו, ומגביל את הגישה לנתונים אלו

יש צורך בהגדרת משתנים גלובליים

שהמידע בהם חשוף לכל

שמירת מידע דינמי

גורמי השוואה נוספים?

Page 6: תכנות מונחה עצמים  IV

הפרוצדורלית והמונחית עצמיםהבדל בין הפרדיגמה (35, עמוד 2004, יוני היבטים)על פי עופרה ברנדס,

:על-פי גישה זו מפתחי תוכנה מחפשים פיתוח מונחה עצמים

ומגדירים אובייקטים המייצגים דרך התנהגות. לאחר מכן

מוגדרים השירותים שהאובייקטים יכולים לתת. מספר אוביקטים

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

הנתונים המגדירים אותו )ערכי התכנות(. במידה ונמצאים נתונים

. (static)משותפים לכל האובייקטים, הם ייוגדרו בתוך המחלקה

:הפיתוח מתחיל עם הגדרת התהליכים. תכנות פרוצדורלי

הנתונים אינם מהווים חלק אינטרגלי מהבעיה.

Page 7: תכנות מונחה עצמים  IV

בעיית הרמזור(http://www.umsl.edu/~subraman/concepts2.html)מקור

עליכם לפתור את שבמסמך המצורףבהתאם לנתונים הבעיה בשתי דרכים:

בגישה הפרוצדורלית: •

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

בגישת מונחית עצמים:•

יש לקבוע את המחלקות הנדרשות למימוש המערכת ויחסי •הגומלין ביניהן.

Page 8: תכנות מונחה עצמים  IV

פתרון פרוצדורלי לבעיית הרמזור

Page 9: תכנות מונחה עצמים  IV

לבעיית הרמזורOOפתרון

Page 10: תכנות מונחה עצמים  IV

תרגיל כתה

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

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

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

.השוואת הפתרונות שהוצעו בשתי הגישות

הפונקציונאליתבדיקת פתרון הבעיה בפרדיגמה .

Page 11: תכנות מונחה עצמים  IV

חקר הקטגוריציה האנושיתפילוסופיה

החל מאריסטו

לפנה"ס(340)

פסיכולוגיהעל בסיסמחקרים

אמפיריים

החל משנות 1960-70

פסיכולוגיה

מודרנית

העולם מחולק לעצמים בעלי תכונות ויכולות אינהרנטיות. עצם משוייך לקטגוריה ראשונית )למשל כלב(,

וקטגוריות ברמה שניה )לדוגמא בעלי חיים(. הקטגוריות אליהן משוייך העצם

מגדירות את תכונותיו.בני האדם מסווגים עצמים ומושגים

לקטגוריות.

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

קטגוריה יכולה להיות תת קטגוריה של קטגוריה אחרת.

ראיות אמפיריות חדשות לגבי קטגוריזציה, כגון:

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

ללא מאפיינים משותפים.

גבולות הקטגוריה לא ברורים ועשויים להתגמש לפי הצורך.

Page 12: תכנות מונחה עצמים  IV

התנגשות חשיבה "מונחית עצמים" עם הקטגוריזציה הטבעית

קטגוריזציה בחשיבה האנושית

(Lakoff, 1987)מבוסס על

מחלקות בתכנות מונחה עצמים

)Jacobson, 1992 ; Rumbaugh et

al, 1991 ; Meyer, 1988(

נושא

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

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

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

.המגדירה את המחלקה

מאפייני המשויכים לקטגוריה/מחלקה

שיוך לקטגוריה מבוצע על ידי ישות מסוימת, ועשוי להיות תלוי במאפייניה

הביולוגיים, המנטליים והתרבותיים.

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

מייצגת, תוך שימוש בטקטיקות היא תכן מומלצות.

אופן השיוך

הגבולות של הקטגוריות לא תמיד ברורים, וניתן להיות משויך לקטגוריה

.בדרגה מסוימת

גבולות המחלקות ברורים ומוגדרים. שייכות עצם למחלקה מסוימת היא

בינרית: שייך או לא שייך.

הגדרת גבולות ודרגת שייכות

ניתן להוסיף משויכים חדשים לקטגוריה ובכך להרחיב את גבולותיה,

כאשר היא עדיין נשארת אותה הקטגוריה.

על פי הטקטיקה המומלצת אין לשנות הגדרות של מחלקות קיימות, אלא לרשת מהן מחלקות חדשות ובהן

לבצע שינוי.

גמישות גבולות

משויכים מסוימים עשויים להוות "דוגמא טובה יותר" לקטגוריה

ממשויכים אחרים.

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

סטטוס כל העצמים ביחס למחלקה זהה.

מרכזיות

קיימות קטגוריות בהן קיים אב-טיפוס ה"מחולל" או מגדיר את שאר משויכי

הקטגוריה.

קבוצת המאפיינים המגדירה מחלקה היא המגדירה את העצמים המחוללים

ממנה, לא תתכן תופעת אב-טיפוס בהקשר זה.

אב-טיפוס

Page 13: תכנות מונחה עצמים  IV

תרגיל כתה

:מפת מושגים של מושגים בפיתוח מונחה עצמים

.מושגים בכל הפרדיגמות שלמדנו עד כה

Page 14: תכנות מונחה עצמים  IV

סיכום המושג פרדיגמה

כיצד בא לידי ביטוי המושג פרדיגמה בדיון

בפרדיגמה המונחית עצמים?