ממשק הוא סוג הפניה המשמש לאכיפת חוזה עם מחלקה. חוזה מתייחס לחובה ליישם את השיטות שממשק מגדיר.
ממשקים מספקים הפשטה בין השיטות שהם מגדירים וכיצד המשתמש מיישם אותן בכיתה. מקרה שימושי לכך הוא בממשקי API (ממשקי תכנות אפליקציות).
ממשקי API מאפשרים לתוכנית שלך לתקשר עם תוכניות אחרות מבלי לדעת כיצד הן מיושמות. זה חשוב הן מסיבות קנייניות (לחברה המחזיקה בזכויות) והן להתפתחות קלה מצידך.
בואו נסתכל כיצד להשתמש בממשקי ג'אווה.
הגדרת ממשקים
כדי להכריז על ממשק, מקם את מילת המפתח מִמְשָׁק לפני שם הממשק.
ממשק רכב {
// הצהרות קבועות, אם בכלל
צמיגי int = 4;
// חתימות שיטה
אורות int (בהירות int);
int turn (int צמיגים, כיוון מיתר) {
// קצת קוד
}
}
בכותרת הממשק שלך תוכל גם לכלול את רמת הנראות שלה לפני מילת המפתח מִמְשָׁק.
הערכים בממשק קבועים. ערכים אלה הם כברירת מחדל ציבורי, סטטי ו סופי. לכן, אין צורך להשתמש במילות מפתח אלה בעת הצהרת ערכים בגוף ממשק.
קָשׁוּר: כיצד לנהל היקף משתנה ב- Java
גוף ממשק יכול להיות גם ברירת מחדל, מופשט, סטטי שיטות. שיטות אלה הן כברירת מחדל פּוּמְבֵּי, כך שאין צורך לציין את משני הגישה האלה בעת הצהרתם.
שיטות מופשטות מוכרזות על ידי השארת הסוגריים המתולתלים של גוף השיטה. ראה שורה 7 בקוד למעלה. שיטות סטטיות מוכרזות על ידי המשך שם השיטה עם מילת המפתח סטָטִי & שיטות ברירת המחדל מוכרזות באמצעות בְּרִירַת מֶחדָל מַתקֵן.
עכשיו יהיה זמן טוב להזכיר שעליך להשתמש בשיטות המוצהרות בממשק בכל השיעורים המיישמים אותו. אי עשיית הדבר תגרום למהדר "לאכוף את החוזה" על ידי מתן שגיאת הידור.
למאפיין הספציפי הזה של ממשקים עשויים להיות כמה חסרונות. שקול מקרה שבו ספק ממשק תכנות אפליקציות (API) מחליט להוסיף שיטות נוספות לממשקים שלהם, אך מספר אפליקציות מבוססות על הממשקים הישנים. מפתחים שמשתמשים בממשקים הישנים בתוכניות שלהם יצטרכו לכתוב מחדש את הקוד שלהם, וזה לא מעשי.
אז, זה המקום בְּרִירַת מֶחדָל נכנסות שיטות. הם מאפשרים לספקי API להוסיף שיטות נוספות לממשקים שלהם תוך הבטחת תאימות בינארית עם גרסאות ממשק ישנות יותר.
ברירת מחדל int getDirection (קואורדינטות מחרוזת) {
// כתוב קוד כדי לתת יישום ברירת מחדל
}
השיטה לעיל מראה כיצד נקראה שיטת ברירת מחדל getDirection מוכרז. שים לב שעליך לכלול יישום של שיטת ברירת מחדל בעת כתיבתה.
שימוש בממשקים
כעת הגדרנו ממשקים ב- Java, נוכל להמשיך לאופן בו תוכל ליישם אותם. תוכל לברר זאת בקטע שלהלן.
יישום ממשקים
כדי ליישם ממשק, השתמש במילת המפתח מיישמים באמצעות תחביר זה:
מחלקה A מיישמת ממשק P {
}
זכור שעליך להשתמש בכל שיטות הממשק בכיתה. אתה יכול להתעלם מכלל זה רק אם אחת מהשיטות מוגדרת כ בְּרִירַת מֶחדָל בממשק.
קָשׁוּר: מבוא לשימוש ברשימות מקושרות ב- Java
אם אתה רוצה שהכיתה שלך תיישם מספר ממשקים, תוכל להפריד ביניהם באמצעות פסיקים בהצהרת הכותרת שלך.
דוגמא:
מחלקה A מיישמת את הממשק P, Q, R {
}
אם המחלקה שמיישמת את הממשק היא תת -סוג, השתמש בתחביר שלהלן:
מחלקה A מרחיבה B מיישמת C, D {
}
ממשקים מאפשרים ירושות מרובות ב- Java. בדרך כלל, מעמד יכול להאריך רק כיתה אחת (ירושה אחת). ממשקים הם הדרך היחידה שבה ג'אווה יכולה לבצע ירושות מרובות.
ממשקים יכולים גם להרחיב ממשקים אחרים, בדיוק כמו מחלקה יכולה להרחיב עוד מחלקה. ממשק הילד יורש את שיטות הממשק שהוא מרחיב.
עיין בדוגמה למטה:
ממשק A מרחיב את B {
}
מלבד שימוש בשיטות ברירת מחדל לשינוי ממשק מבלי לדרוש מהמפתחים לשנות את התוכניות הנוכחיות שלהם, תוכל גם להרחיב את הממשקים הקיימים.
עכשיו יש לך ידע בסיסי על ממשקי Java
ממשקים בג'אווה מדגימים הפשטה, אחד מארבעת עמודי התווך של תכנות מונחה עצמים. פולימורפיזם הוא אחד מארבעת העמודים הללו. הוא מתייחס ליכולת של שיטה ללבוש צורות רבות.
אתה יכול ליישם פולימורפיזם ב- Java באמצעות עומס יתר של שיטות או דריסת שיטות. הבא ברשימת הקריאה של Java שלך אמור להיות כיצד ליישם פונקציות אלה.
צמצם את הקוד שאתה כותב בעזרת עומס יתר ושיטה.
קרא הבא
- תִכנוּת
- ג'אווה
- שפות תכנות
- תִכנוּת
ג'רום הוא כותב צוות ב- MakeUseOf. הוא מכסה מאמרים בנושא תכנות ולינוקס. הוא גם חובב קריפטו ותמיד עוקב אחרי תעשיית הקריפטו.
הירשם לניוזלטר שלנו
הצטרף לניוזלטר שלנו לקבלת טיפים, סקירות, ספרים אלקטרוניים בחינם ומבצעים בלעדיים!
לחצו כאן להרשמה