ממשק (תכנות) – הבדלי גרסאות

תוכן שנמחק תוכן שנוסף
Delta739 (שיחה | תרומות)
אין תקציר עריכה
Delta739 (שיחה | תרומות)
שורה 41:
 
==ממשקים נפוצים==
 
* IImmutable - ממשק שבה להבטיח שלא יהיה ניתן לשנות את המידע שאובייקט מכיל בתוכו. דוגמה לאובייקט כזה הוא הטיפוס String בשפת C#. טיפוס זה מייצג מילה, ומורכב ממערך של אותיות. אין אפשרות לגשת לאינדקס של אות מסוימת מילה, אינדקס אפס למשל עבור האות הראשונה במילה, ומשם לשנות את האות. טיפוס נתונים זה ניתן לשרשור (חיבור של מילים) או להשמה מחדש, אבל כאמור אין אפשרות לגשת לאות מסוימת במילה ולהחליפה באות אחרת.
* IComparable - ממשק שמבטיח שהאובייקט הוא בר-השוואה יחסית לאובייקטים אחרים. למשל הטיפוס int מקיים את הממשק, ולפיכך ניתן להשוות בין מספר שלם אחד למשנהו. הממשק מכיל רק מטודה אחת בשם ComparTo והיא מחזירה מספר שלם. אם המספר קטן מאפס אז האובייקט שמשווה את עצמו לאובייקט אחר כפרמטר - קטן מהאובייקט המושווה. אם הערך שווה לאפס אז שני האובייקטים שווים, ואם הערך גדול מאפס אז המצב ההפוך מהמצב הראשון מתקיים.
* INotifyPropertyChanged - ממשק שבא להבטיח שאובייקט יעדכן את הסביבה שלו כאשר שדה כלשהו שלו משתנה. הממשק חשוב לטכנולוגיית WPF ול-Binding. אם לאובייקט יש למשל שדה בשם FirstName והוא מוצמד לשדה טקסט של TextBlock, והאובייקט עונה על חוזה (ממשק) זה, אז ברגע שישתנה השדה שלו גם הטקסט על הפקד ישתנה. במילים פשוטות, שינוי של ערך בזיכרון מעדכן את ממשק המשתמש על השינוי שנעשה בו.