PracticU

שלבי יצירת אובייקט

בלי כתוביותעם כתוביות
PracticU › קורס תכנות מונחה עצמים - OOP - Object Oriented Programming - חומר לימוד של מדעי המחשב › שלבי יצירת אובייקט
מילון מושגים:
אובייקט - יחידה בתכנות מונחה עצמים שמאגדת נתונים (תכונות) ופעולות (מתודות). נוצר בדרך כלל ממחלקה המשמשת כתבנית.
מחלקה - תבנית בתכנות מונחה עצמים שמגדירה אילו נתונים ופעולות יהיו לאובייקטים שנוצרים ממנה.
בנאי - מתודה מיוחדת שמופעלת אוטומטית בעת יצירת אובייקט ממחלקה, ומאתחלת את ערכיו ההתחלתיים.
זיכרון - רכיב מהיר ונדיף שבו המחשב שומר נתונים ותוכניות בזמן ריצתם. תוכנו נמחק עם כיבוי המחשב.
פולימורפיזם - עיקרון בתכנות מונחה עצמים שבו אובייקטים ממחלקות שונות מגיבים לאותה פעולה כל אחד בדרכו.

שלבי יצירת אובייקט
הסרטון מסביר את סדר היצירה וההריסה של אובייקט שיורש משרשרת מחלקות: הבנאים רצים מהבסיס כלפי הנגזרת, והדיסטרקטורים בסדר הפוך.
השלבים העיקריים
1. סדר היצירה: כשיוצרים Manager מהמחלקה Employee, שיורשת את Person, הבנאי של Person רץ ראשון, אחריו Employee, ואחריו Manager. גם אם הקריאה מתחילה בבנאי של המנהל, הקוד של הבסיס מתבצע קודם.
2. סדר ההריסה: הדיסטרקטור של Manager רץ ראשון, אחריו Employee, ואחריו Person, כלומר בסדר הפוך.
3. מה נוצר בזיכרון: קודם נוצר החלק של Person, ואחר כך מתווספים לו שדות של Employee ושל Manager. בסוף יש אובייקט אחד שמכיל את כולם.
4. בנאי ריק: אם לא מציינים בנאי בסיס מסוים, נקרא הבנאי הריק של הבסיס. אם אין לו בנאי ריק, מתקבלת שגיאת קומפילציה.
שימו לב
בתרגיל כותבים הודעה בכל בנאי ובכל דיסטרקטור, ואז מנחשים את סדר ההודעות לפני ההרצה.
כל אובייקט נבנה מהבסיס כלפי מעלה ונהרס בסדר הפוך, וזה חשוב להבנת הפולימורפיזם.
השיעור הבא בקורס: מחלקה sealed

פרקי ההרצאה: שלבי יצירת אובייקט

  1. 00:00

    סדר יצירת האובייקט בהורשה

  2. 01:18

    הודעות בקונסטרקטורים

  3. 02:21

    סדר הפעלת הקונסטרקטורים

  4. 03:41

    סדר הפעלת הדיסטרקטורים

  5. 04:41

    בניית הדאטה ממברס בזיכרון

  6. 06:57

    הרכבת האובייקט מנג'ר

תמלול ההרצאה: שלבי יצירת אובייקט

הטקסט המלא של הדקות הראשונות בהרצאה «שלבי יצירת אובייקט» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:01

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

  2. 00:24

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

  3. 00:46

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

  4. 00:59

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

  5. 01:15

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

  6. 01:39

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

  7. 02:15

    אז אנחנו ראינו כבר שקודם כל הולך להתבצע קונסטרקטור של מנאג'ר לאחר מכן של אמפלואי ולאחר מכן של פרסון ואנחנו יכולים לראות את זה בואו נריץ ונראה בעצם שהסדר אומר למרות שהקונסטרקטור של מנאג'ר התבצע אבל הייתה מיד קפיצה לאמפלואי ולפרסון ואנחנו רואים שקודם כל הקונסטרקטור של פרסון

  8. 02:36

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

  9. 03:30

    דיסטרקטור נוסף דה מנאג'ר. כעת בוא נריץ ונראה מה הסדר של הדיסטרקטורים. עכשיו אנחנו רואים שקודם כל person נוצר, לאחר מכן employee, לאחר מכן manager, אבל סדר ההריסה הוא הפוך, manager נהרס, לאחר מכן employee, לאחר מכן person.

  10. 04:07

    זאת אומרת, אנחנו רואים שכאשר ישנה הורשה, person זה ה-base, יורש אותו employee ויורש את ה-employee Manager, אז סדר יצירת כל האובייקטים האלה הוא מבפנים החוצה.

  11. 04:21

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

  12. 04:34

    אוקיי, אחרי שראינו את זה, בואו נסתכל רגע מה זה אומר לנו מבחינת ה-data members שנוצרים.

  13. 04:42

    יש לנו פה מצגת שמציגה בדיוק מה קורה כאשר אתם יוצרים מנאג'ר, מיימנאג'ר שווה ניו מנאג'ר שיורש את אמפלואי ואמפלואי יורש את פרסון. מה שהמערכת עושה היא קודם כל יוצרת אובייקט פרסון אם לפרסון יש first name ו last name זה בעצם מה שהיא יוצרת בגלל שנוצר קודם כל אובייקט פרסון אז מופעל הקונסטרקטור של פרסון אפילו שראינו שמתבצעת ריצה לקונסטרקטור של

  14. 05:12

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

  15. 05:34

    להשתמש איתה בהמשך. מי שתופס ראשון את הזיכרון זה אובייקט פרסון. בעת, מה שקורה זה שמבחינת המערכת יש לנו פה אובייקט פרסון אחד, וה-first name וה-last name זה חלק מהאובייקט פרסון.

  16. 05:49

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

  17. 06:07

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

  18. 06:26

    כלומר מהסלארי, זאת אומרת האובייקט שמרכיב את אמפלואי זה first name last name וסלארי שלושתם ביחד זה אובייקט אמפלואי אז למרות שאפשר להגיד שמצאו פה כביכול שני אובייקטים זה מה שיותר נכון לראות שקרה כאן זה שפרסון נוצר כאובייקט נפרד

  19. 06:50

    אבל הוא הושלם לאחר מכן לאמפלואי והאובייקט אמפלואי בעצם הוא החלק של פרסון פלוס התוספת של אמפלואי אם אנחנו נמשיך אנחנו נראה שכמובן אנחנו יצרנו פה את מנאג'ר ונוצר לנו פה הבונוס וזה בעצם עוד דאטה ממבר שהתווסף לאובייקט עצמו מה שקורה אחר כך זה שכל הדאטה ממברס האלה כל הדאטה ממברס האלה first name last name salary ובונוס כולם

  20. 07:22

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

לקורס המלא: קורס תכנות מונחה עצמים OOP

ההרצאה הקודמת: הורשה - Inheritance (הסבר נוסף)

ההרצאה הבאה: מחלקה sealed

הרצאות קשורות מקורסים אחרים

  • אובייקט Screen
  • שלבי פיתוח של התוכנה
  • שלבי טיפול בפריצה
  • אובייקט Canvas באנדרואיד

קורסים נוספים במסלול

  • קורס יסודות התכנות - שפת C# .NET - קורס תכנות למתחילים - דוט-נט / סי-שארפ - חומר לימוד של מדעי המחשב