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

בחנות כסאות מערכת ממוחשבת עם המחלקות: Date (תאריך - month, year), Chair (כסא - price, createDate), ושלוש מחלקות היורשות מ-Chair: ComputerChair (מוסיפה wheels, adjustHeight), GardenChair (מוסיפה isFoldable) ו-BarStool (מוסיפה adjustHeight). Order מחזיקה מערך כיסאות (עד 100) ומעניקה הנחה לפי כמות כיסאות מכל סוג בהזמנה.

תרשים היררכיה: Chair היא מחלקת אב של ComputerChair, GardenChair, BarStool; כל אחת מהן מכילה (יש לה) שדה מטיפוס Date. Order מכיל מערך של Chair.

Chair <|-- ComputerChair
Chair <|-- GardenChair
Chair <|-- BarStool
Chair o-- Date (createDate)
Order o-- Chair[] (chairs)
סעיף א(1)

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

סעיף א(2)

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

public class Chair { ... } public class ComputerChair extends Chair { ... } public class GardenChair extends Chair { ... } public class BarStool extends Chair { ... }

סעיף א(3)

נתונה הפעולה הבונה של מחלקת Chair: public Chair(int price, Date createDate) אין צורך לממש את הפעולה. לפניכם כותרת פעולת הבונה של המחלקה ComputerChair. הפעולה מקבלת מחיר, מספר גלגלים, גובה הרמת מושב ותאריך ייצור. public ComputerChair(int price, int wheels, int height, Date date) ממשו את הפעולה הבונה.

סעיף ב

נתונה המחלקה Order -- הזמנה. תכונות המחלקה: chairs -- מערך של כסאות, מטיפוס Chair. כמות כסאות מקסימלית בהזמנה -- 100. current -- כמות הכסאות בהזמנה הנוכחית. החנות מעניקה הנחה להזמנה בהתאם לכמות הכסאות בהזמנה, באופן הבא:

  • אם מספר כסאות המחשב בהזמנה גדול מ-10, תינתן הנחה של 20% על כל כסאות המחשב שבהזמנה.
  • אם מספר כסאות הגינה בהזמנה גדול מ-15, תינתן הנחה של 25% על כל כסאות הגינה שבהזמנה. כתבו פעולה בשם totalPrice במחלקה Order המחזירה את סכום ההזמנה. בנוסף, הפעולה מדפיסה את פרטי הכסאות בהזמנה (בהתאם לתכונות שלהם).

public int totalPrice()

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

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

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

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