שלח תשובה

זירת השאלות

1964
צפיות
2
תשובות

שאלה בc#

,‏ 7 בינואר, 2017

כשמגדרים מחלקה נגיד בשם Person ואחר כך עוד מחלקה בשם Car ומגדיר בתוך המחלקה Car משתנה מסוג Person מישהו יכול להסביר מה התהליך שקורה כשאני משתמש בדבר כזה?

2 תשובות

  1. chayimf הגיב:

    כאשר אתה מגדיר דבר כזה, ועושה

    Car car = new Car();

    ואח"כ לדוג'

    car.Person = new Person();

    אזי יש לך בזיכרון מופע של Person, מופע של Car שאתה מחזיק אליו ייחוס (רפרנס) בשם car והוא מחזיק ייחוס למופע של Person בשם Person. וכך, כשאתה כותב לדוג':

    car.Person.Name = "my name";

    אז המהדר בעצם לוקח את האובייקט Car שהמשתנה car מחזיק, ניגש לאובייקט Person שהמשתנה Person שלו מחזיק, וקובע את המאפיין Name שלו (שאגב, כיוון שהוא מחרוזת גם הוא בעצם אובייקט מוטמע) ל-"my name".

  2. של car יש משתנה מסוג Person.
    במקום להגדיר מחדש את כל משתני הבן אדם
    מגדירים שתנה מסוג מחלקה שלו יש את המשתנים הנחוצים.

שלח תשובה