כך הרסו בדוטנט שאלת ראיונות עבודה קלאסית:

שאלת ראיונות קלאסית בסי-שארפ:
מה ההבדל בין קלאס אבסטרקטי לבין אינטרפייס?
הרי משניהם לא ניתן לייצר מופע.

והתשובה הפשוטה (גם אם לא מדוייקת במאה אחוז):

אינטרפייס – רק הגדרת "חוזה"שאומר "במה" חייבים לעמוד ולא "איך".

קלאס אבסטרקטי – אמנם גם יגדיר כנראה מתודות אבסטרקטיות אבל בהחלט גם יכול להכיל מימוש של פונקציות מסויימות (דבר שיש לו שימוש רב בפולימורפיזם, ובין השאר ב design pattern שאני מאוד אוהב: Template Method).

באה מיקרוסופט בסי-שארפ 8 והוסיפה את
default interface methods
המאפשר לתת מימוש דפולטיבי למתודה, כמו בתמונה פה. (שגם ממחישה שהקומפיילר לא צועק…)

יש לזה יתרונות כמובן, כי אני מקבל במתנה מימושים. ואני יכול לבחור אם לדרוס אותם או להנות ממה שקיבלתי.

אבל אני מוצא שזה מבלבל מתכנתים.
וכאמור קצת הרס שאלת ראיונות קלאסית…

מה דעתכם?

אהבת את המאמר? שתף עם חברים

שתף את המאמר בפייסבוק
שתף את המאמר בטויטר
שתף את האמר בלינקדין
שתף את המאמר בוואצאפ

הישארו מחוברים!

התחברו לניוזלטר של לוגר הדרכות

תודה על הרשמתך

נשמח לשמוע את דעתך על המאמר

דילוג לתוכן