
myCar מצביע למכונית שנמצאת בזיכרון.new Car(), נוצר אובייקט בזיכרון, והמשתנה מקבל הפניה אליו. בזכות ההפניה ניגשים לאותו רכב.string הוא סוג הפניה, אף שהוא נראה כמו משתנה פשוט כשמשייכים לו טקסט.double ו-bool הם מסוג ערך, כלומר הערך נשמר במשתנה עצמו.הטקסט המלא של הדקות הראשונות בהרצאה «הבדל בין Reference לבין Value (נוסף)» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום לכולם, בהרצאה היום אני עומד לתת הסבר על שני סוגי המשתנים שקיימים בדוטנט, שני סוגי המשתנים היחידים שקיימים בדוטנט, ובהרצאה הזאת אני גם עומד להסביר את ההסבר האולי קצת מעורפל שנתנתי בהרצאה הקודמת, לגבי, אם נחזור לדוגמה שלנו מההרצאה הקודמת, לגבי מה מועבר לפה, למשתנה הזה MyCar.
אז אם אתם זוכרים, יצרנו בהרצאה הקודמת קלאס של car, קלאס שמייצג רכב, אוקיי? נתנו לו כל מיני משתנים, זה השם של הרכב, זה השנה שלו, יש לו גם צבע, כל מיני פונקציות שהמכונית יכולה לבצע, יכולה לעשות.
עכשיו, הגענו לפה, אנחנו רוצים ליצור למעשה את הcar. אם אתם זוכרים מהסרטוט שלנו, זה למעשה התרשים, הקלאס שיצרנו זה למעשה תרשים, התבנית שלפיה אנחנו יכולים ליצור מכונית.
עכשיו, עדיין אין לנו את המכונית, כלומר אין לנו את הדבר הזה, אז כדי ליצור את הדבר הזה אנחנו צריכים לעשות את הפעולה הבאה:
אנחנו נותנים את המשתנה car, כי כרגע יצרנו קלאס בשם car, כותבים את השם של המשתנה שאנחנו רוצים, ומשתמשים באופרטור new car, יצירת מכונית חדשה.
וסוגריים וסוגריים. אז בהרצאה הקודמת אמרתי שכאשר אנחנו מבצעים את הפעולה הזאת, מועבר לפה ערך כלשהו. לא הסברתי במדויק מה מועבר.
אז מה שמועבר לפה זה לא הדבר הזה, זה לא המכונית עצמה. מה שמועבר לפה זה, אפשר להגיד, הדבר הזה. הדבר הזה מייצג, באנגלית זה נקרא פוינטר, מצביעה.
זה משהו שמאפשר לנו להתייחס למכונית, אוקיי? תחשבו עליו כמו איזה חבל שאנחנו יכולים בעזרתו למשוך את המכונית או משהו כזה. מה שמועבר לנו פה זה מצביע.
מצביע זה בסופו של דבר מספר שמתייחס למשהו מסוים. במקרה שלנו, בוא נכתוב פה לדוגמה, יש פה איזה מספר כולשהו, המספר כרגע לא משנה, רק בשביל הדוגמה יהיה פה מספר, המספר הזה מתייחס לאובייקט הזה.
המספר הזה למעשה מייצג כתובת מסוימת, שבכתובת הזאת נמצא נמצאת המכונית אוקיי אז כשאנחנו עכשיו עשינו את הפעולה הזאת של New Car מה שקיבלנו פה זה את הדבר הזה מה שיש לנו פה את העסק הזה יש לנו פה עכשיו איזה מספר שמראה לנו איפה המכונית נמצאת ואנחנו בעזרתו יכולים לגשת למכונית איך אנחנו ניגשים למכונית אנחנו רושמים My Car נקודה והמשתנה שלה אז מה שיש לנו פה למעשה
זה לא המכונית עצמה, אלא מצביע אל המכונית. כמו שבן אדם מצביע עם היד שלו לעבר הגלידה שהוא רוצה באיזה גלידריה, כדי לציין על איזה גלידה הוא רוצה עכשיו לקנות, אז פה אנחנו מצביעים, יש איזה מצביע שמצביע על הרכב המסוים שנמצא בזיכרון באזור מסוים.
אז זה מביא אותנו למעשה להרצאה שלנו על סוגי משתנים. אז מה שכרגע ראינו זה למעשה סוג משתנה אחד. הסוג המשתנה הזה אם באזור הזה אם אני אצייר את זה בצורה טיפה יותר טובה אם זה יהיה המשתנה שלנו פה אוקיי הוא מכיל איזה מצביע לערך אוקיי בוא נגיד שזה יהיה הערך זה למעשה הערך זה המכונית
אם זה המצביע זה המשתנה שלנו שהוא מצביע לערך שלנו אז בתוך המשתנה הזה שזה יהיה במקרה בוא נגיד בדוגמה שלנו זה היה מייקאר אוקיי אז מייקר זה המשתנה הזה מכיל את הדבר הזה ובעזרתו בעזרת המצביע הזה אנחנו ניגשים לערך זה יהיה פה הערך שלנו זה יהיה הvalue זה הvalue שלנו פה זה הvalue וזה למעשה מה שיש בתוך
המשתנה מייקר המספר הזה שמייצג אותו אז זה סוג אחד של משתנה עכשיו בוא ניגש למשתנה int int זה גם משתנה כשאנחנו נותנים למשתנה מייסלארי את המספר 5000 אנחנו למעשה אם עכשיו אנחנו נסמן פה עכשיו את המשתנה הזה המשתנה הזה בוא נגיד מייצג את מיי סלארי זה מיי סלארי אז מה שיש בתוך המשתנה הזה מיי סלארי זה לא מצביע כמו שיש פה זה לא איזה מספר
מסוים שמצביע לאובייקט לרכב עצמו מה שיש פה בתוך המשתנה הזה מיי סלארי זה ממש המספר עצמו 5000 סליחה, יש פה את המספר 5000, אוקיי?
אז פה במשתנה הזה מסוג int יש לנו ממש את הערך עצמו, והנה מאחור יש לנו פה את הvalue, 5000 זה הvalue, אוקיי?
אז יש לנו פה את הערך ממש שלו, של המשתנה my salary. במשתנה הזה אין לנו את הvalue, אבל הוא נמצא פה, אבל מה שיש לנו פה זה reference, reference, התייחסות.
יש לנו משתנה של התייחסות, הוא מתייחס אלינו, מתייחס למכונית. משתנה זה לא מכיל את המכונית עצמה כמו שיש לנו פה הוא מכיל איזה מצביע מסוים למכונית ובשפת תכנות הוא מכיל רפרנס רפרנס באנגלית