טוען...
טוען...
בחנות הכולבו "הכול לבית" מוכרים מוצרי מזון שאינם דורשים אחסון בקירור, מוצרי מזון הדורשים אחסון בקירור ומוצרי אלקטרוניקה.
כדי לנהל את מלאי המוצרים שבחנות נבנו המחלקות האלה:
Item — מוצר, FoodItem — מוצר מזון, FoodRefrigerated — מוצר מזון הדורש אחסון בקירור, ElectronicItem — מוצר אלקטרוניקה, ItemDate.
ItemDate היא מחלקה שמייצגת תאריך ויש בה 3 תכונות מטיפוס מספר שלם: day יום, month חודש, year שנה.
התכונות של המחלקות הן בהתאם לדרישות המידע שלפניך:
המידע ששומרים בנוגע לכל אחד מן המוצרים בחנות:
name — שם המוצר, מטיפוס מחרוזת.catalogNumber — מספר קטלוגי, מטיפוס מחרוזת.quantity — מספר פריטים מן המוצר במלאי, מטיפוס שלם.minQuantity — המספר המינימלי של הפריטים מן המוצר שיש להחזיק במלאי, מטיפוס שלם.המידע הנוסף ששומרים בנוגע לכל מוצרי המזון:
expiryDate — תאריך התפוגה של המוצר, מטיפוס ItemDate.המידע הנוסף ששומרים בנוגע למוצרי המזון הדורשים אחסון בקירור:
minTemperature — הטמפרטורה המינימלית הנדרשת לאחסון מוצר המזון, מטיפוס שלם.maxTemperature — הטמפרטורה המקסימלית האפשרית לאחסון מוצר המזון, מטיפוס שלם.המידע הנוסף ששומרים בנוגע למוצרי האלקטרוניקה:
guaranteeDate — תאריך סוף האחריות של היצרן על המוצר, מטיפוס ItemDate.הערה
מוצרי המזון שאינם דורשים אחסון בקירור ומוצרי האלקטרוניקה נשמרים בכל טמפרטורה.
אפשר להניח שבכל המחלקות יש פעולות בונות ופעולות get ו-set.
public class Tester {
public static boolean canBeStored (Item item, int temp) {
return item.canBeStored (temp);
}
}סרטט תרשים הייררכייה בין המחלקות: Item, ElectronicItem, FoodItem, FoodRefrigerated, ItemDate.
מַמֵש את הפעולה הפנימית isMissing. הפעולה תחזיר true בעבור המוצר אם מספר הפריטים במלאי נמוך ממספר הפריטים המינימלי הנדרש במלאי, אחרת היא תחזיר false.
יש לציין באיזו מחלקה נמצאת הפעולה.
במחלקה Tester הוגדרה הפעולה:
הפעולה canBeStored מחזירה true אם אפשר לשמור את המוצר item בטמפרטורה temp, אחרת היא מחזירה false.
הוסף פעולות נדרשות למחלקות כדי שהפעולה תבצע את הנדרש.
ציין בעבור כל פעולה באיזו מחלקה היא מוספת.
בחנות הכולבו "הכול לבית" מוכרים מוצרי מזון שאינם דורשים אחסון בקירור, מוצרי מזון הדורשים אחסון בקירור ומוצרי אלקטרוניקה.
כדי לנהל את מלאי המוצרים שבחנות נבנו המחלקות האלה:
Item — מוצר, FoodItem — מוצר מזון, FoodRefrigerated — מוצר מזון הדורש אחסון בקירור, ElectronicItem — מוצר אלקטרוניקה, ItemDate.
ItemDate היא מחלקה שמייצגת תאריך ויש בה 3 תכונות מטיפוס מספר שלם: day יום, month חודש, year שנה.
התכונות של המחלקות הן בהתאם לדרישות המידע שלפניך:
המידע ששומרים בנוגע לכל אחד מן המוצרים בחנות:
name — שם המוצר, מטיפוס מחרוזת.catalogNumber — מספר קטלוגי, מטיפוס מחרוזת.quantity — מספר פריטים מן המוצר במלאי, מטיפוס שלם.minQuantity — המספר המינימלי של הפריטים מן המוצר שיש להחזיק במלאי, מטיפוס שלם.המידע הנוסף ששומרים בנוגע לכל מוצרי המזון:
expiryDate — תאריך התפוגה של המוצר, מטיפוס ItemDate.המידע הנוסף ששומרים בנוגע למוצרי המזון הדורשים אחסון בקירור:
minTemperature — הטמפרטורה המינימלית הנדרשת לאחסון מוצר המזון, מטיפוס שלם.maxTemperature — הטמפרטורה המקסימלית האפשרית לאחסון מוצר המזון, מטיפוס שלם.המידע הנוסף ששומרים בנוגע למוצרי האלקטרוניקה:
guaranteeDate — תאריך סוף האחריות של היצרן על המוצר, מטיפוס ItemDate.הערה
מוצרי המזון שאינם דורשים אחסון בקירור ומוצרי האלקטרוניקה נשמרים בכל טמפרטורה.
אפשר להניח שבכל המחלקות יש פעולות בונות ופעולות get ו-set.
public class Tester {
public static boolean canBeStored (Item item, int temp) {
return item.canBeStored (temp);
}
}סרטט תרשים הייררכייה בין המחלקות: Item, ElectronicItem, FoodItem, FoodRefrigerated, ItemDate.
מַמֵש את הפעולה הפנימית isMissing. הפעולה תחזיר true בעבור המוצר אם מספר הפריטים במלאי נמוך ממספר הפריטים המינימלי הנדרש במלאי, אחרת היא תחזיר false.
יש לציין באיזו מחלקה נמצאת הפעולה.
במחלקה Tester הוגדרה הפעולה:
הפעולה canBeStored מחזירה true אם אפשר לשמור את המוצר item בטמפרטורה temp, אחרת היא מחזירה false.
הוסף פעולות נדרשות למחלקות כדי שהפעולה תבצע את הנדרש.
ציין בעבור כל פעולה באיזו מחלקה היא מוספת.