ראינו בפעם הקודמת מהו Equals ואיך מממשים אותו.
לצערנו, קריאה לEquals היא “פחות כיפית” מקריאה לאופרטור הסטטי ==.
אחד הדברים המעצבנים הוא שכאשר אנחנו קוראים לEquals, מאחר ומדובר במתודה של הinstance, היא שאנחנו צריכים לבדוק מה קורה אם הinstance הוא null.
זה מקשה על הקריאה. נוכל לכתוב מתודה כזאת במקום לעשות בדיקות מעיקות:
|
|
ואז בכל פעם שאנחנו רוצים להשוות את שני האובייקטים עם Equals, פשוט נשלח לAreEqual את שניהם.
(שימו לב שמאחר ומדובר בreferenceים מסוג object, ההשוואה עם null היא השוואה של referenceים)
מסתבר שחשבו עלינו, ולא נצטרך לכתוב מתודה כזאת בכל מחלקה, אלא במחלקה object יש מתודה סטטית בשם Equals שהמימוש שלה הוא כנ"ל.
כלומר נוכל לכתוב תמיד
|
|
במקום כך:
|
|
יום שווה טוב