בחנות משחקים מערכת עם המחלקות Game (rate,code,price), ושלוש מחלקות היורשות ממנה ישירות: ComputerGame (מוסיפה memory), VRGame (מוסיפה memory, needVR, age) ו-BoardGame (מוסיפה players). Store מחזיקה מערך משחקים (עד 1000, לא ממוין, לא בהכרח מלא) ומחשבת ממוצע דירוג לפי סוג.
בחנות משחקים מערכת עם המחלקות Game (rate,code,price), ושלוש מחלקות היורשות ממנה ישירות: ComputerGame (מוסיפה memory), VRGame (מוסיפה memory, needVR, age) ו-BoardGame (מוסיפה players). Store מחזיקה מערך משחקים (עד 1000, לא ממוין, לא בהכרח מלא) ומחשבת ממוצע דירוג לפי סוג.
שרטטו תרשים היררכיה המתאר את הקשר בין המחלקות של המערכת הממוחשבת. יש לסמן ירושה באמצעות החץ.
כתבו את כותרות המחלקות ואת התכונות שלהן על פי עקרונות תכנות מונחה עצמים. הניחו שהפעולות get ו-set קיימות לכל התכונות של המחלקות, ואין צורך לממש אותן.
נתונה כותרת הפעולה הבונה של המחלקה Game: public Game(int price, int code) -- אין צורך לממש את הפעולה. דירוג המשחק מאותחל לערך 0. לפניכם כותרת הפעולה הבונה של המחלקה ComputerGame. הפעולה מקבלת מחיר price, קוד code, וזיכרון מינימלי memory. ממשו את הפעולה הבונה.
public ComputerGame (int price, int code, int memory)
נתונה המחלקה Store -- חנות, ולה שתי תכונות: games (מערך של משחקים, מטיפוס Game בגודל 1000), count (כמות המשחקים במערך). המשחקים נשמרים מתחילת המערך ברצף, אך ייתכן שהמערך אינו מלא עד הסוף. כמו כן, המערך אינו ממוין. כתבו פעולה פנימית ששמה avgRate (Java) / AvgRate (C#) במחלקה Store המקבלת מספר המייצג סוג המשחק: 1 מייצג VRGame, 2 מייצג ComputerGame. הפעולה מחזירה מספר ממשי המייצג את ממוצע הדירוגים של כל המשחקים מאותו סוג בחנות. הניחו שקיים במערך לפחות משחק אחד מכל סוג.
public double avgRate (int type)
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.