אלמנטים של מודל אובייקט Java: בכיתה מופשטת, ממשק

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

ג 'אווה בכיתה מופשטת - -

מהו המעמד המופשט בג'אווה?

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

שיעורים מופשטים, ג 'אווה שיטות מופשטות

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

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

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

דוגמה:

  • בכיתה אבסטרקט מופשטת {
  • שיטת החלל הציבורית המופשטת (int a);
  • }
  • Class BClass מרחיב את AClass {
  • שיטת הריקנות הציבורית (int a) {
  • // body
  • }

משתנים מסוג המעמד המופשט מותרים. הם יכולים להפנות את צאצא לא מופשט של המעמד הזה או להיות ריק.

ממשקים ב- Java - חלופה למספר ירושה

ממשקים בכיתה ג 'אווה מופשטת

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

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

הצהרת ממשק

את ההבדל בין המעמד המופשט לבין ממשק ג 'אווה

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

  • ממשק ציבורי AI מרחיב את B, C, D {
  • // body
  • }

כדי להכריז על כיתה כיורש הממשק, עליך להשתמש ביישומי מילות המפתח:

  • Class AClass מיישמת BI, CI, DI {}

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

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

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

</ p>
אהבתי:
0
מאמרים קשורים
ג 'אווה: InputStream. קלט זרמים
תקציר המעמד ושיטה: תיאור,
פרטים על איך לעשות
Java אינו מותקן: מה עלי לעשות? איך אפשר
כיצד להתקין Java ב - Windows 7
סביבת פיתוח משולבת של Java
כיצד להסיר את ממשק "CS: GO" באמצעות
Java: עבודה עם קבצים - כתיבה, קריאה,
תקציר ציור - איך ומה אתה יכול לעשות את זה
הודעות פופולריות
למעלה