הבדל בין יישום להרחבה

הבדל בין יישום להרחבה
הבדל בין יישום להרחבה

וִידֵאוֹ: הבדל בין יישום להרחבה

וִידֵאוֹ: הבדל בין יישום להרחבה
וִידֵאוֹ: הארי פוטר : 10 הבדלים בין הספרים לסרטים ! 2024, יולי
Anonim

יישומים לעומת הרחבות

יישומים והרחבות הן שתי מילות מפתח שנמצאות בשפת התכנות Java המספקת אמצעי להעברת פונקציונליות נוספת למחלקה חדשה. מילת מפתח מיישמת משמשת באופן מפורש להטמעת ממשק, בעוד מילת מפתח Extends משמשת לירושה ממחלקה (על). שים לב שהמושגים של ירושה וממשקים קיימים ברוב שפות התכנות האחרות מונחה עצמים כמו C ו-VB. NET, אך הם מציעים תחביר או מילות מפתח שונות ליישום מושגים אלה. מאמר זה מתמקד רק ביישום והרחבת מילות מפתח המוגדרות ב-Java.

Extends

מילת המפתח Extends משמשת ליישום מושג ההורשה בשפת התכנות Java. ירושה בעצם מספקת שימוש חוזר בקוד על ידי מתן אפשרות להרחבת מאפיינים והתנהגות של מחלקה קיימת על ידי מחלקה שהוגדרה לאחרונה. כאשר תת-מחלקה חדשה (או מחלקה נגזרת) מרחיבה מחלקת-על (או מחלקת אב) תת-מחלקה זו תירש את כל התכונות והשיטות של מחלקת העל. תת-המחלקה יכולה לעקוף באופן אופציונלי את ההתנהגות (לספק פונקציונליות חדשה או מורחבת לשיטות) שהורשתה ממחלקת האב. תת-מחלקה לא יכולה להרחיב מספר מחלקות-על ב-Java. לכן, אינך יכול להשתמש בהרחבות עבור ירושה מרובה. על מנת לקבל ירושה מרובה, עליך להשתמש בממשקים כפי שמוסבר להלן.

יישומים

מיישמת מילת מפתח בשפת התכנות Java משמשת להטמעת ממשק על ידי מחלקה. ממשק ב-Java הוא סוג אבסטרקטי המשמש לציון חוזה שאמור להיות מיושם על ידי מחלקות, המיישמות ממשק זה.בדרך כלל ממשק יכיל רק חתימות שיטה והצהרות קבועות. כל ממשק שמיישם ממשק מסוים צריך ליישם את כל השיטות המוגדרות בממשק, או שיש להכריז עליו כמחלקה אבסטרקטית. ב-Java, ניתן להגדיר את סוג הפניה לאובייקט כסוג ממשק. אבל האובייקט הזה חייב להיות null או צריך להחזיק אובייקט של מחלקה, המיישמת את הממשק המסוים הזה. באמצעות מילת מפתח Implements ב-Java, אתה יכול ליישם מספר ממשקים למחלקה אחת. ממשק לא יכול ליישם ממשק אחר. עם זאת, ממשק יכול להרחיב מחלקה.

הבדל בין יישומים ל-Extends

למרות, מיישומים והרחבות הן שתי מילות מפתח המספקות מנגנון לרשת תכונות והתנהגות למחלקה בשפת התכנות ג'אווה, הן משמשות לשתי מטרות שונות. מילת מפתח מיישמת משמשת למחלקה כדי ליישם ממשק מסוים, בעוד מילת מפתח Extends משמשת עבור תת-מחלקה שתתרחב ממחלקת על.כאשר מחלקה מיישמת ממשק, מחלקה זו צריכה ליישם את כל המתודות המוגדרות בממשק, אך כאשר תת מחלקה מרחיבה מחלקה על, היא עשויה לעקוף את המתודות הכלולות במחלקת האב או לא. לבסוף, הבדל מרכזי נוסף בין Implements ו- Extends הוא שמחלקה יכולה ליישם ממשקים מרובים אך היא יכולה להתרחב רק ממחלקת על אחת בג'אווה. באופן כללי, השימוש ב-Implements (ממשקים) נחשב לטובה יותר בהשוואה לשימוש ב-Extends (ירושה), מכמה סיבות כמו גמישות גבוהה יותר והיכולת למזער צימוד. לכן בפועל, תכנות לממשק מועדף על פני הרחבה ממחלקות בסיס.

מוּמלָץ: