טוען...
טוען...
כדי לנהל את האירועים שלה בנתה חברת "המחר" את המחלקה Date — תאריך, שלה שלוש תכונות מטיפוס שלם: day — יום, month — חודש, year — שנה.
נוסף על כך, לצורך ניהול האירועים נבנתה המחלקה Event — אירוע. לחברה יש שלושה סוגי אירועים: פגישות, שיחות טלפון ומשימות. כדי לשמור את המידע שבכל סוג אירוע, בנתה החברה את המחלקות האלה: פגישה — Meeting, שיחת טלפון — PhoneCall, משימה — Task.
התכונות של המחלקות הן בהתאם לדרישות המידע שלפניך:
המידע ששומרים על פגישה — Meeting:
date — מטיפוס Datehour — שעת ההתחלה, מטיפוס שלםarrNames — שמות המשתתפים בפגישה, במערך מטיפוס מחרוזת (גודל המערך הוא לפי מספר המשתתפים)duration — משך הפגישה בדקות, מטיפוס שלםlocation — מקום הפגישה, מטיפוס מחרוזתהמידע ששומרים על שיחת טלפון — PhoneCall:
date — מטיפוס Datehour — שעת ההתחלה, מטיפוס שלםphoneNumber — מספר הטלפון שמחייגים, מטיפוס מחרוזתname — שם האדם שאליו מתקשרים, מטיפוס מחרוזתהמידע ששומרים על משימה — Task:
date — מטיפוס Datehour — שעת ההתחלה, מטיפוס שלםtitle — כותרת המשימה, מטיפוס מחרוזתהמידע ששומרים על אירוע — Event: אותן דרישות המידע המפורטות בסוגי האירועים שלעיל ושצריכות להישמר במחלקה Event בהתאם לעקרונות תכנות מונחה עצמים.
נוסף על המחלקות האמורות, נבנתה המחלקה Diary — יומן, השומרת עד 1,000 אירועים, Event, במערך arr בגודל 1,000 מטיפוס Event.
לפניך תרשים חלקי של המחלקות:
Datepublic boolean same(Date other)Eventpublic boolean match(String name)העתק את התרשים והוסף את המחלקה Date לתרשים.
כתוב את כותרת המחלקה אירוע — Event — ואת התכונות שלה.
הנח שבשאר המחלקות כתובות התכונות המתאימות, ושבכל המחלקות יש פעולות בונות ופעולות Get ו-Set.
כתוב במחלקה Diary פעולה ששמה AllCalls — המקבלת עצם date מטיפוס Date, ומחזירה מערך מטיפוס PhoneCall בגודל 100, המכיל את כל שיחות הטלפון בתאריך date.
שים לב
- הנח שקיימת במחלקה
DateהפעולהSameהמתוארת בפירוט הפעולות.- הנח שיש בדיוק 100 שיחות טלפון בתאריך
date.- הנח כי בעת הקריאה לפעולה זו, מערך האירועים
arrבמחלקהDiaryמלא בעצמים (ללאnull).
לפניך כותרת הפעולה הפנימית Match במחלקה Event (ראה פירוט הפעולות).
זימון הפעולה יחזיר true אם האירוע (Event) הוא פגישה (Meeting) שבה משתתף אדם ששמו זהה ל-name, או אם האירוע הוא שיחת טלפון (PhoneCall) עם אדם ששמו זהה ל-name, אחרת יוחזר false.
ממש את הפעולה, והוסף פעולות למחלקות המתאימות כדי לבצע את הנדרש. ציין בעבור כל פעולה באיזו מחלקה היא מוספת.
⚠ הערה — אילוץ מחייב
בסעיף זה, אין להשתמש בפעולות
isו־asובפעולות של המחלקהObject.
כדי לנהל את האירועים שלה בנתה חברת "המחר" את המחלקה Date — תאריך, שלה שלוש תכונות מטיפוס שלם: day — יום, month — חודש, year — שנה.
נוסף על כך, לצורך ניהול האירועים נבנתה המחלקה Event — אירוע. לחברה יש שלושה סוגי אירועים: פגישות, שיחות טלפון ומשימות. כדי לשמור את המידע שבכל סוג אירוע, בנתה החברה את המחלקות האלה: פגישה — Meeting, שיחת טלפון — PhoneCall, משימה — Task.
התכונות של המחלקות הן בהתאם לדרישות המידע שלפניך:
המידע ששומרים על פגישה — Meeting:
date — מטיפוס Datehour — שעת ההתחלה, מטיפוס שלםarrNames — שמות המשתתפים בפגישה, במערך מטיפוס מחרוזת (גודל המערך הוא לפי מספר המשתתפים)duration — משך הפגישה בדקות, מטיפוס שלםlocation — מקום הפגישה, מטיפוס מחרוזתהמידע ששומרים על שיחת טלפון — PhoneCall:
date — מטיפוס Datehour — שעת ההתחלה, מטיפוס שלםphoneNumber — מספר הטלפון שמחייגים, מטיפוס מחרוזתname — שם האדם שאליו מתקשרים, מטיפוס מחרוזתהמידע ששומרים על משימה — Task:
date — מטיפוס Datehour — שעת ההתחלה, מטיפוס שלםtitle — כותרת המשימה, מטיפוס מחרוזתהמידע ששומרים על אירוע — Event: אותן דרישות המידע המפורטות בסוגי האירועים שלעיל ושצריכות להישמר במחלקה Event בהתאם לעקרונות תכנות מונחה עצמים.
נוסף על המחלקות האמורות, נבנתה המחלקה Diary — יומן, השומרת עד 1,000 אירועים, Event, במערך arr בגודל 1,000 מטיפוס Event.
לפניך תרשים חלקי של המחלקות:
Datepublic boolean same(Date other)Eventpublic boolean match(String name)העתק את התרשים והוסף את המחלקה Date לתרשים.
כתוב את כותרת המחלקה אירוע — Event — ואת התכונות שלה.
הנח שבשאר המחלקות כתובות התכונות המתאימות, ושבכל המחלקות יש פעולות בונות ופעולות Get ו-Set.
כתוב במחלקה Diary פעולה ששמה AllCalls — המקבלת עצם date מטיפוס Date, ומחזירה מערך מטיפוס PhoneCall בגודל 100, המכיל את כל שיחות הטלפון בתאריך date.
שים לב
- הנח שקיימת במחלקה
DateהפעולהSameהמתוארת בפירוט הפעולות.- הנח שיש בדיוק 100 שיחות טלפון בתאריך
date.- הנח כי בעת הקריאה לפעולה זו, מערך האירועים
arrבמחלקהDiaryמלא בעצמים (ללאnull).
לפניך כותרת הפעולה הפנימית Match במחלקה Event (ראה פירוט הפעולות).
זימון הפעולה יחזיר true אם האירוע (Event) הוא פגישה (Meeting) שבה משתתף אדם ששמו זהה ל-name, או אם האירוע הוא שיחת טלפון (PhoneCall) עם אדם ששמו זהה ל-name, אחרת יוחזר false.
ממש את הפעולה, והוסף פעולות למחלקות המתאימות כדי לבצע את הנדרש. ציין בעבור כל פעולה באיזו מחלקה היא מוספת.
⚠ הערה — אילוץ מחייב
בסעיף זה, אין להשתמש בפעולות
isו־asובפעולות של המחלקהObject.