ייתרון באינטרפייס כאשר אין צפי להרחבה ?

yosi44441

New member
ייתרון באינטרפייס כאשר אין צפי להרחבה ?

לדוגמא יש לי מחלקת סטודנט שצריכה להשתמש במחלקת X
נגיד שאין צפי להרחבה של עוד סוגים של X
האם כדאי לעשות מחלקת IX ואז X יורש ממנה?
מה הייתרון בכך?
האם מבחינת קימפול כאשר אני אעשה שינויים פנימיים ב X אבל הממשק של IX לא ישתנה , אז לא צריך לקמפל שוב את המחלקה סטודנט למרות ש X השתנה?
כי בסוף הרי צריך לאמר לסטודנט איכשהו שהוא משתנה ב X שיורש מ IX
IX ix=new X()
 

BravoMan

Active member
עשית סלט.

קודם כל, על איזו שפה אתה מדבר?
&nbsp
לצורך העניין, ב-Java השימוש ב-interface לא קשור להרחבה עתידית אפשרית של מחלקת בסיס, אלא יותר לירושה מרובה ו-"חוזים".
&nbsp
למשל, יש לך כפתור, וכאשר הוא נלחץ נקראת מתודה onClick.
&nbsp
המתודה יכולה להימצא בכל מיני מחלקות, אבל כדי לוודא שניתן יהיה לחבר כל מחלקה שכתבתה לכל כפתור, המחלקות האלה צריכות לממש ממשק אחיד, שיקרא למשל OnClickListner ויחייב את המחלקות להכיל מתודה onClick.
&nbsp
דוגמה אחרת היא ירושה מרובה:
היות ו-Java לא תומכת בירושה מרובה ישירות (extends), ניתן לממש אותה ע"י ממשקים (implements).
&nbsp
למשל, תפוח הוא גם "פריט אוכל" וגם "צומח". שני אלה לא נמצאים באותה היררכיה, אבל יש אובייקטים שמשלבים אותם.
&nbsp
למרות שזה השתנה ב-Java 9, במקור ממשקים ב-Java לא יכלו להכיל קוד, לכן בדוגמה שתיארת בו יש מחלקה X, ואתה רוצה לרשת פונקציונליות שלה, אתה לא אמור לייצר IX בשביל ירושה.
 
למעלה