ממשקים – Interfaces
interface (ממשק) הינו מבנה לוגי מופשט (אבסטרקטי) המכיל רק הצהרות.
אחד מתפקידי ה- interface העיקריים הוא ליצור ממשק זהה לאובייקטים שונים (אפילו בהיררכיות שונות) ובכך הוא אחד היישומים של עיקרון הפולימורפיזם בתכנות מונחה העצמים.
interface IExample
מטרת הממשק היא להגדיר התנהגות מסוימת, ולשמש כבסיס למחלקות נגזרות המממשות אותו
ממשק הוא סוג של מחלקה/טיפוס מופשטת הניתן להגדרה.
זו בעצם מחלקה מופשטת abstract לחלוטין אך ההבדל הוא:
• בממשק כל המתודות מופשטות
• לממשק אין שדות
דגשים חשובים לגבי interface
• ממשק לא יכול להכיל משתנים או מימושים (פונקציות עם תוכן) אלא רק הצהרות. המחלקות/מבנים שירשו את ה- interfaceהם אלה שיממשו את ההצהרות.
• כאשר נממש (נירש) interface חובה לממש את כל ההצהרות שבו
• ניתן לרשת רק מחלקה אחת ובנוסף ניתן לרשת ולממש מספר בלתי מוגבל של interfaces
• לא ניתן ליצור אובייקט מ- interface אלא רק ייחוס (reference)
• נהוג ששם של interface יתחיל באות I
• אם יש מספר "מורישים" – נפריד בפסיק, אם יש ירושת מימוש, היא תצוין ראשונה.
ירושה מתארת יחס של "סוג של" וממשק מתאר יחס של "ניתן ל"
הגדרת ממשק
בעזרת המילה Interface
הרשאת גישה של ממשק: public/internal
כל המתודות הן public virtual, אך אין צורך לציין זאת. (כי גם כך אין מימוש לפונקציות והן ממומשות במחלקות היורשות)
ממשק בתרשים UML
