ההבדל בין מכשירים ומתרחב

Anonim

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

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

הרחבות

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

-> ->

מיישמים

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

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

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