
iPhone.iPhone עם Version ו-Price, שמממשת IEquatable. שמרו אובייקט לקובץ בינארי עם BinaryFormatter, טענו לאובייקט נפרד, הציגו את שניהם והשוו.SoapFormatter ונטען למערך אחר. משווים כל איבר בסדר עם Equals כדי לוודא שלא הייתה שגיאה.ISerializable במחלקה. ב-GetObjectData הצפינו את המחיר ואת הגרסה, ובקונסטרקטור באותה חתימה פענחו והחזירו ל-data members. שמרו אובייקט אחד ל-XML, טענו, השוו ופתחו את הקובץ לראות אם המידע מוצפן.XmlSerializer במקום SoapFormatter, ובדקו אם יש הצפנה בקובץ.הטקסט המלא של הדקות הראשונות בהרצאה «תרגילים על Serialization» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
דילים בנוגע לסריאליזיישן. צרו מחלקה שנקראת אייפון שמכילה ורז'ן ופרייס - גרסה ומחיר. ממשו את iEquitable של אייפון בכדי להשוות בין טלפון שמתקבל לפונקציה לבין הטלפון הנוכחי.
במיין, צרו אובייקט אייפון. שימרו את האובייקט הזה לקובץ בינארי על ידי Binary Formatter. לאחר מכן בצעו טעינה של הקובץ לאובייקט אייפון נפרד לגמרי.
הציגו את שני הערכים משני האובייקטים, הראשון וזה שנטען, ובצעו ביניהם השוואה על ידי I-Equitable, האם שניהם שווים. השתמשו במחלקת האייפון שיצרתם בתרגיל הקודם, ויצרו מערך חד-ממדי של אייפון, מכיל אלף אייפונים רנדומליים לחלוטין, בעלי ערכים רנדומליים Version ו-Price רנדומליים, זה שבא לכם שימרו את כל הקולקשן הזה לקובץ
xml על ידי soapformatter לאחר מכן בצעו טעינה של כל הקובץ הזה למערך אייפון אחר לגמרי רוצו על שני המערכים ביחד ובצעו השוואה של כל אחד מהאובייקטים עצמם לפי הסדר זה כמובן על ידי פונקציית equals ובדקו האם שני המערכים זהים לחלוטין ואז אם כן
לכן אין לכם פה שום שגיאה שהתבצעה בתהליך הכתיבה והטעינה מהקובץ. השתמשו במחלקת האייפון שכתבתם בתרגיל הקודם וממשו את iSerializable עבור מחלקת האייפון. בפונקציה getObjectData בצעו הצפנה של המחיר ושל ה-version כך שתשמרו לקובץ או לסטרים את המידע המוצפן.
בקונסטרקטור שאתם צריכים לבנות בעל אותה חתימה של גט אובייקט דאטה בצעו