תרגול ממשקים
בניית מערכת לניהול מוצרים בחנות אינטרנטית עם מספר סוגי מוצרים שונים ותהליכי תשלום שונים
1. צרו מחלקת בסיס בשם Product שמכילה תכונות כלליות של מוצר:
• שם המוצר (Name)
• מחיר (Price)
• פעולה בשם GetProductInfo() שמחזירה את פרטי המוצר (שם ומחיר).
2. צרו שני סוגים של מוצרים שיירשו את מחלקת הבסיס Product:
• מחלקה PhysicalProduct שתייצג מוצר פיזי, ותכיל שדה נוסף-משקל. (Weight)
• מחלקה DigitalProduct שתייצג מוצר דיגיטלי, ותכיל שדה נוסף-גודל קובץ
(FileSize).
3. צרו ממשק בשם IPayable המכיל שיטה בשם ProcessPayment() שמבצעת תהליך של תשלום עבור מוצר.
4. מחלקות PhysicalProduct ו DigitalProduct-יממשו את הממשק IPayable.
• עבור PhysicalProduct הפעולה ProcessPayment() תדפיס הודעה שכוללת את שם המוצר ותציין שהוא נשלח פיזית.
• עבור DigitalProduct הפעולה ProcessPayment() תדפיס הודעה שכוללת את שם המוצר ותציין שהוא נשלח באימייל.
5. צרו מחלקת Order שתכיל מערך של מוצרים מסוג Product.
• הוסיפו שיטה בשם ProcessOrder() שתעבור על כל המוצרים במערך ותקרא לפעולה ProcessPayment() עבור כל אחד מהמוצרים.