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

תוכן שנמחק תוכן שנוסף
מיפ33 (שיחה | תרומות)
תגיות: עריכה ממכשיר נייד עריכה מיישום נייד
Matanyabot (שיחה | תרומות)
מ בוט החלפות: \1הפך
שורה 42:
הקונבנציה (המוסכמה בתחום) בעולם התוכנה היא שממשק תמיד יתחיל באות I, ולאחר מכן תיאור של ה[[חוזה (תכנות)|חוזה]]. לדוגמה: ICanRead, ICanLearn וכו'. לאובייקטים שיממשו את החוזה יהיה מתודות בלי התחילית I, למשל CanRead ו-CanLearn.
 
אובייקט יכול לממשק מספר אינסופי של ממשקים וכך לענות על מספר דרישות. השימוש בממשק יכול לעזור לעקוף [[ירושה (מדעי המחשב)|עץ ירושה]] של אובייקטים. למשל, אם קיים אובייקט של Person שיורש מאובייקט Mammls, ואובייקט אחר בשם Table שיורש מאובייקט של SolidItems, אז ניתן באמצעות ממשק ליצור לשני האובייקטים מטודות דומות. כלומר, אין צורך שהאדם יירש תכונות ממחלקת החפצים המוצקים, ולהיפךולהפך, אין צורך להצהיר שהשולחן יירש תכונות ממחלקת היונקים.
 
הממשק לא מכתיב כיצד יש לממש את המתודות שהוא דורש. בדוגמה לעיל למשל, אובייקט אחר יכול למממש את המתודה הבוליאנית (מחזירה אמת או שקר) DoThat, בכך שהוא יחזיר אמת כל עוד הפרמטר שונה מאפס למשל. אין אפשרות שממשק יחייב אובייקט להכיל שדות מסוימים (אופן שמירת מידע), אלא רק מתודות (התנהגויות).