חברת Cloud-Tech מספקת תשתיות מחשוב. בתחילה, החברה סיפקה רק רכיבי חומרה, אך עם הזמן התרחבה גם למכירת רישיונות תוכנה. לפניכם המחלקות המגדירות את רכיבי המערכת:

  • המחלקה Hardware עבור רכיבי חומרה פיזיים;
  • המחלקה Server עבור שרתי מחשוב;
  • המחלקה Switch עבור מתגי תקשורת;
  • המחלקה SoftwareLicense עבור רישיונות תוכנה (כגון Windows או Oracle).
public class Hardware {
    private String serialNumber; // מספר סידורי
    private double price; // מחיר יחידה
    public double getPrice() { return this.price; }
}
public class Server extends Hardware {
    private int ramGB; // זיכרון בג'יגה בייט
    private int cpuCores; // מספר ליבות מעבד
}
public class Switch extends Hardware {
    private int portsCount; // מספר פורטים
    private boolean managed; // האם מנוהל
    public int getPortsCount() { return this.portsCount; }
    public boolean isManaged(){return this.managed;}
}
public class SoftwareLicense {
    private String softwareName; // שם התוכנה
    private int months; // משך הרישיון בחודשים
    private double monthlyRate; // עלות חודשית
    public double getPrice(){
        return (this.months * this.monthlyRate);
    }
}
(א)בתחילת דרכה, המחלקה ProjectOrder ניהלה רק רכיבי חומרה המסופקים ללקוח.
למחלקה התכונות האלה:
- `String clientName` – שם הלקוח;
- `Hardware[] items` – מערך של פריטי חומרה בלבד.

כתבו במחלקה ProjectOrder את הפעולה countLargeSwitches. הפעולה תחזיר כמות מתגי תקשורת הניתנים לניהול שיש להם יותר מ-16 פורטים.
(ב)החברה החליטה לאפשר ללקוחות להוסיף להזמנה גם רישיונות תוכנה (SoftwareLicense). כעת המחלקה ProjectOrder צריכה להחזיק במערך אחד את כל סוגי המוצרים (גם חומרה וגם רישיונות).
1. אילו שינויים יש לבצע בהגדרת התכונות של המחלקה ProjectOrder כדי לתמוך בדרישה החדשה?
2. כתבו פעולה פנימית `public double calculateTotal()`.
הפעולה תחזיר את העלות הכוללת של כל הפריטים במערך החדש.

הערה: אין להוסיף מחלקות או לשנות את יחסי הירושה הקיימים.

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

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

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

רוצים לתרגל אלפי שאלות נוספות?

המשיכו לתרגול מלא עם משוב אישי ←

מבחני מה"ט אמיתיים · משוב מיידי · וידאו לכל נושא · מעקב התקדמות

המשיכו לתרגול מלא ←