אתם מתרגלים שאלה מתוך מה"ט מבני נתונים ותכנות מונחה עצמים — הנדסאי תוכנהמבחן 2022 · אביב מועד א · שאלה 9כל שאלות המבחן ←
תכנות מונחה עצמיםירושה

פרויקט לניהול תשלומי קניות בחנות מכשירים אלקטרוניים: תשלום יכול להתבצע במזומן, המחאה, וכרטיס אשראי, וניתן לחלק לכמה תשלומים לא בהכרח שווים ובכמה אמצעי תשלום יחד.

תרשים היררכיה: Store ◆— Buy (הכלה: Store מחזיקה אוסף של Buy). Buy ◆— Payment (הכלה: Buy מחזיקה אוסף של Payment). Cash, Credit, Cheque --▷ Payment (ירושה: כל אחת יורשת מ-Payment). מקרא: יהלום מלא=יחס הכלה; חץ=יחס ירושה.

Store <>---- Buy <>---- Payment
                          ^--- Cash
                          ^--- Credit
                          ^--- Cheque
סעיף א

כתבו את כותרות המחלקות הנזכרות בתרשים ולכל מחלקה הוסיפו את התכונות הנדרשות. הוסיפו תיעוד! אפשר להניח שקיימת מחלקה Date, המייצגת תאריך.

סעיף ב

כתבו את הפעולות הנזכרות לעיל וציינו באיזו מחלקה צריכה להיות כל פעולה:

  1. בדיקה שסכום כל התשלומים בעבור קנייה אחת שווה לסכום הקנייה. public boolean check()
  2. פעולה המקבלת מספר כרטיס אשראי ומדפיסה את פרטי הקניות שהיה בהן תשלום בכרטיס אשראי זה (לפחות אחד התשלומים). public void print(String creditNum)
  3. פעולה המחזירה את מספר הקניות שבוצעו במזומן בלבד. public int cashPayments() הערות: אפשר להניח כי בכל מחלקה הוגדרו פעולות get/set ו-toString (אין צורך לממש). אם כתבתם פעולות עזר, יש לציין באיזו מחלקה נמצאת כל פעולה.

public boolean check(); public void print(String creditNum); public int cashPayments()

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

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

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

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