אתם מתרגלים שאלה מתוך בגרות מדעי המחשב — מבני נתונים (שאלון 899271)מבחן 2026 · קיץ מועד Special · שאלה 11כל שאלות המבחן ←
תכנות מונחה עצמיםירושה

בחנות משחקים מערכת עם המחלקות Game (rate,code,price), ושלוש מחלקות היורשות ממנה ישירות: ComputerGame (מוסיפה memory), VRGame (מוסיפה memory, needVR, age) ו-BoardGame (מוסיפה players). Store מחזיקה מערך משחקים (עד 1000, לא ממוין, לא בהכרח מלא) ומחשבת ממוצע דירוג לפי סוג.

סעיף א(1)

שרטטו תרשים היררכיה המתאר את הקשר בין המחלקות של המערכת הממוחשבת. יש לסמן ירושה באמצעות החץ.

סעיף א(2)

כתבו את כותרות המחלקות ואת התכונות שלהן על פי עקרונות תכנות מונחה עצמים. הניחו שהפעולות get ו-set קיימות לכל התכונות של המחלקות, ואין צורך לממש אותן.

סעיף א(3)

נתונה כותרת הפעולה הבונה של המחלקה 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)

שאלות ותגובות על השאלה

🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות

שאלו כאן — ותקבלו מענה מוסמך.

🎓 מרצה לתכנות עונה כאן — תקבלו מענה מקצועי