PracticU

בנאי המחלקה Constructor (הסבר נוסף)

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

בנאי המחלקה Constructor (הסבר נוסף)
השיעור מסביר את הבנאי (constructor) של מחלקה, פונקציה מיוחדת שנקראת בזמן היצירה של האובייקט ומאתחלת את ערכיו הראשונים.
השלבים העיקריים
1. מהו בנאי: פונקציה שנושאת את שם המחלקה ואין לה ערך מוחזר. תפקידה לתת לאובייקט ערכים התחלתיים.
2. פרמטרים לבנאי: כמו בפונקציה רגילה, אפשר להעביר לבנאי ערכים, למשל שם ושנת ייצור. הערכים מועברים בזמן new.
3. הבחנה בין שמות: השפה מבדילה בין אותיות גדולות לקטנות. שם הפרמטר name ושם החבר Name הם שני משתנים שונים, כי ההבדל באות הגדולה משנה.
4. בנאי ברירת מחדל: אם לא הוגדר בנאי, הקומפיילר מספק בנאי ללא פרמטרים, ולכן הקוד עובד גם בלעדיו.
5. בחירה: האם לאתחל דרך הבנאי או אחרי היצירה, תלוי בסיטואציה ובהחלטת המתכנת.
פקודות והגדרות
public Car(string name, int year)
Car myCar = new Car("מזדה", 2010);
שימו לב
גם בלי בנאי שנכתב ידנית, הקומפיילר מוסיף בנאי ברירת מחדל. הבנאי הזה לא נראה בקוד, אבל הוא קיים.
הבנאי מאפשר לקבוע את ערכי האובייקט כבר בזמן היצירה, בלי שורות נפרדות לכל מאפיין.
השיעור הבא בקורס: מפרק - Destructor

פרקי ההרצאה: בנאי המחלקה Constructor (הסבר נוסף)

  1. 00:00

    מהו Constructor

  2. 01:04

    הוספת משתנה בוליאני למכונית

  3. 02:14

    מתן ערכים בעת היצירה

  4. 03:27

    Constructor כפונקציה בשם המחלקה

  5. 04:16

    אתחול משתני המחלקה ופרמטרים

תמלול ההרצאה: בנאי המחלקה Constructor (הסבר נוסף)

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

  1. 00:01

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

  2. 00:17

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

  3. 00:45

    הצבע שלה. אפשר למעשה להוסיף פה, בואו נוסיף פה עוד איזה משתנה שנקרא לו, נגיד נקרא לו, משתנה מסוג של בול דווקא.

  4. 01:05

    נגיד שמשתנה מסוג של בול שנקרא לו roof, או משתנה שנקרא is roof exist. האם קיים גג, משתנה שמקבל true או false, אם קיים גג או לא קיים גג.

  5. 01:36

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

  6. 02:04

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

  7. 02:35

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

  8. 02:53

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

  9. 03:08

    זה ממש אותו דבר, יש פה קריאה של פונקציה, אבל השאלה לאיזה פונקציה קוראים. לפי מה שאני רואה פה, יש פה קריאה לפונקציה שנקראת car. אז באמת יש פונקציה כזאת שנקראת car, אתם לא רואים אותה פה, אבל היא קיימת.

  10. 03:22

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

  11. 03:35

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

  12. 04:06

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

  13. 04:27

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

  14. 04:45

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

  15. 04:55

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

  16. 05:12

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

  17. 05:30

    אוקיי, עכשיו כשאני עכשיו ניגש ל.. כשאני עכשיו יוצר את האובייקט הזה אוקיי שימו לב שיש לי

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

ההרצאה הקודמת: בנאי המחלקה Constructor

ההרצאה הבאה: מפרק - Destructor

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

  • הסבר נוסף על SSH
  • פונקציות - Functions (הסבר נוסף)
  • הסבר נוסף על Port Security
  • העלאת הרשאות - הסבר נוסף (חלק 1)

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

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