1964
צפיות
צפיות
2
תשובות
תשובות
שאלה בc#
כשמגדרים מחלקה נגיד בשם Person ואחר כך עוד מחלקה בשם Car ומגדיר בתוך המחלקה Car משתנה מסוג Person מישהו יכול להסביר מה התהליך שקורה כשאני משתמש בדבר כזה?
כשמגדרים מחלקה נגיד בשם Person ואחר כך עוד מחלקה בשם Car ומגדיר בתוך המחלקה Car משתנה מסוג Person מישהו יכול להסביר מה התהליך שקורה כשאני משתמש בדבר כזה?
2 תשובות
כאשר אתה מגדיר דבר כזה, ועושה
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".
של car יש משתנה מסוג Person.
במקום להגדיר מחדש את כל משתני הבן אדם
מגדירים שתנה מסוג מחלקה שלו יש את המשתנים הנחוצים.