מה ההבדל בין הרחבות ליישומים בג'אווה?



מאמר זה בנושא הרחבות לעומת כלים בג'אווה יעזור לכם להבין כיצד ניתן להשתמש בשתי מילות המפתח הללו לביצוע ירושה בג'אווה בדרכים שונות.

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

הנושאים הנדונים במאמר זה הם:





כדי להבין טוב יותר אתההבדל בין הארכות ליישומים, אתה גם צריך ללמוד ולהבין את הבדל בין מחלקה וממשק מופשטים בג'אווה.

מרחיב את מילת המפתח



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

חבילה MyPackage class A {String s A (String s1) {s = s1} display void () {System.out.println (s)}} class B מרחיב A {String l B (String s1, String s2) {super ( s1) l = s2} תצוגת ריק () {super.display () System.out.println (l)}} class ExtendsExample {public static void main (String args []) {A ob = new B ('Welcome', 'לאדוריקה') ob.display ()}}

תְפוּקָה: ברוך הבא
לאדוריקה

ליצור חבילה בג'אווה

הֶסבֵּר: בקוד הנ'ל ניתן לראות כי מחלקה B הרחיבה את מחלקה A, יש לה גישה לשיטת display () ועקפה את תצוגת השיטה () שהוגדרה בכיתה A. כוח עצום זה מגיע באמצעות מילת המפתח extends.



מיישם מילת מפתח

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

חבילה ממשק MyPackage XYZ {תצוגה חלולה (מחרוזות) הצגת חלל (int i)} מחלקה הדגמה מיישמת XYZ {הצגת חלל ציבורית (int i) {System.out.println ('value integer:' + i)} תצוגת חלל ציבורית ( מחרוזת s) {System.out.println ('ערך מחרוזת:' + s)}} מחלקה ImplementExample {public static void main (String args []) {XYZ d = new Demo () d.display ('TechDifferences') d .הצגה (2)}}

תְפוּקָה:

ערך מחרוזת: ערך שלם של TechDifferences: 2

בקוד לעיל, אתה יכול לראות כי מחלקת הדגמהמיישם שתי שיטות שהוכרזו בממשק XYZ.

מהתוכן הנ'ל אולי שמתם לב להבדל העיקרי בין הרחבות ליישומים ב- . עכשיו בואו נמשיך ונפרט הבדלים אחרים.

מאריך נגד כלים

הטבלה שלהלן מפרטת את ההבדלים העיקריים בין מילות המפתח המתרחבות והיישומים.

תכונות השוואה מתארך יישומים

יישום

מחלקה יכולה לרשת מחלקה אחרת, או ממשק יכול לרשת ממשקים אחרים באמצעות הרחבת מילת מפתח

כיתה יכולה ליישם ממשק באמצעות כלי מילות מפתח

שיטה

תת-הכיתה המרחיבה מעמד-על עשויה לעקוף את השיטות בסופר-על או לא

בכיתה המיישמת ממשק יש ליישם את כל השיטות של ממשק זה.

מעמד

כיתה יכולה להרחיב רק מעמד-על אחד.

מחלקה יכולה ליישם כל מספר של ממשק בו זמנית

מִמְשָׁק

ממשק יכול להאריך כל מספר ממשקים

ממשק לעולם לא יכול ליישם שום ממשק אחר

ובכן, עכשיו אתה ההבדלים העיקריים בין הארכות ליישומים ב

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

דאג שתתאמן ככל האפשר ותחזיר את החוויה שלך.

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

יש לך שאלה עבורנו? אנא הזכיר זאת בסעיף ההערות של 'הרחבה לעומת כלים ב- Java'. ונחזור אליך בהקדם האפשרי.