בחנות כסאות מערכת ממוחשבת עם המחלקות: Date (תאריך - month, year), Chair (כסא - price, createDate), ושלוש מחלקות היורשות מ-Chair: ComputerChair (מוסיפה wheels, adjustHeight), GardenChair (מוסיפה isFoldable) ו-BarStool (מוסיפה adjustHeight). Order מחזיקה מערך כיסאות (עד 100) ומעניקה הנחה לפי כמות כיסאות מכל סוג בהזמנה.
בחנות כסאות מערכת ממוחשבת עם המחלקות: 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)
סרטטו תרשים היררכיה המתאר את הקשר בין המחלקות של המערכת הממוחשבת. יש לסמן ירושה באמצעות החץ ⇦ והכלה באמצעות הסימן ◇.
כתבו את כותרות המחלקות ואת התכונות שלהן. הניחו שהפעולות get ו-set קיימות בכל התכונות של המחלקות ואין צורך לממש אותן.
public class Chair { ... } public class ComputerChair : Chair { ... } public class GardenChair : Chair { ... } public class BarStool : Chair { ... }
נתונה הפעולה הבונה של מחלקת 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()
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.