כיתת בטון בג'אווה

1. הקדמה

במדריך מהיר זה, נדון במונח "מעמד קונקרטי" בג'אווה.

ראשית נגדיר את המונח. ואז נראה איך זה שונה מממשקים ושיעורים מופשטים.

2. מהי מעמד בטון?

מחלקה קונקרטית היא מחלקה שנוכל ליצור דוגמה ממנה באמצעות ה- חָדָשׁ מילת מפתח.

במילים אחרות, זה א יישום מלא של תכניתו. שיעור בטון הושלם.

דמיין, למשל, א אוטו מעמד:

רכב בכיתה ציבורית {ציבורי מחרוזת צופר () {להחזיר "צפצוף!"; } כונן מחרוזות ציבורי () {return "vroom"; }}

מכיוון שכל השיטות שלו מיושמות, אנו קוראים לזה מעמד קונקרטי ואנחנו יכולים לייצר אותו:

מכונית לרכב = מכונית חדשה ();

כמה דוגמאות לשיעורי קונקרט מה- JDK הן מפת גיבוב, HashSet, רשימת מערך, ו רשימה מקושרת.

3. הפשטת Java לעומת שיעורי בטון

לא כל סוגי Java מיישמים את כל השיטות שלהם. גמישות זו, הנקראת גם הַפשָׁטָה, מאפשר לנו לחשוב במונחים כלליים יותר על התחום שאנו מנסים לדגם.

בג'אווה נוכל להשיג הפשטה באמצעות ממשקים ושיעורים מופשטים.

בואו נסתכל טוב יותר על שיעורי הבטון על ידי השוואתם לאחרים אלה.

3.1. ממשקים

ממשק הוא שרטוט לכיתה. או, במילים אחרות, זה אוסף של חתימות שיטות לא מיושמות:

ממשק מונע {void honk (); כונן ריק (); }

שים לב שהוא משתמש ב- מִמְשָׁק מילת מפתח במקום מעמד.

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

אבל, שיעורי בטון כמו אוטו יכול ליישם שיטות אלה.

ה- JDK מספק מספר ממשקים כמו מַפָּה, רשימה, ו מַעֲרֶכֶת.

3.2. שיעורים מופשטים

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

מחלקה מופשטת ציבורית רכב {תקציר ציבורי מחרוזת (); כונן מחרוזות ציבורי () {return "zoom"; }}

שים לב שאנו מסמנים שיעורי מופשט עם מילת המפתח תַקצִיר.

שוב, מאז רכב יש שיטה לא מיושמת, לִצְפּוֹר, לא נוכל להשתמש ב- חָדָשׁ מילת מפתח.

כמה דוגמאות לשיעורים מופשטים מה- JDK הן AbstractMap ו תקציר רשימה.

3.3. שיעורי בטון

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

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

מחלקה ציבורית FancyCar מאריך כלי רכב הניתנים לניהול {ציבורי מיתרי מחרוזת () {להחזיר "צפצוף"; }}

ה FancyCar בכיתה מספק יישום עבור לִצְפּוֹר וזה יורש את היישום של נהיגה מ רכב.

ככזה, אין לו שיטות לא מיושמות. לכן, אנו יכולים ליצור FancyCar מופע כיתתי עם חָדָשׁ מילת מפתח.

מכונית FancyCar = FancyCar חדשה ();

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

4. סיכום

במדריך קצר זה למדנו על שיעורי בטון ומפרטם.

בנוסף, הראינו את ההבדלים בין ממשקים לשיעורים קונקרטיים ומופשטים.