וִידֵאוֹ: האם לכיתה מופשטת של Java יכול להיות בנאי?
2024 מְחַבֵּר: Lynn Donovan | [email protected]. שונה לאחרונה: 2023-12-15 23:47
כן, א כיתה מופשטת יכולה להיות א בַּנַאִי ב Java . אתה פחית או לספק במפורש א בַּנַאִי ל שיעור מופשט או אם לא, המהדר רָצוֹן הוסף ברירת מחדל בַּנַאִי ללא ויכוח ב שיעור מופשט . זה נכון לכל שיעורים וזה חל גם על א שיעור מופשט.
כתוצאה מכך, האם בנאי יכול להיות מופשט ב-Java?
אתה פחית אין קונסטרוקטור מופשט , כפי ש תַקצִיר פירוש הדבר שאתה צריך לספק את היישום עבור זה בנקודת זמן מסוימת בתת-הכיתה שלך. אבל אתה לא יכול לעקוף בַּנַאִי . שם רָצוֹן אין טעם ב-an קונסטרוקטור מופשט : אתה רָצוֹן תמיד להתקשר ל בַּנַאִי של כיתת ילד ולא של כיתת בסיס.
באופן דומה, איך קוראים לבנאי מחלקה מופשטת? אתה יכול להגדיר א בַּנַאִי ב- שיעור מופשט , אבל אתה לא יכול לבנות את האובייקט הזה. עם זאת, תת בטון שיעורים יכול (וחייב) שִׂיחָה אחד מ בנאים מוגדר ב תַקצִיר הוֹרֶה מעמד . אתה לא יכול שִׂיחָה an קונסטרוקטור מחלקות מופשט עם מעמד ביטוי יצירת מופע, כלומר.
כמו כן, אנשים שואלים, מדוע לכיתה מופשטת יש בנאי?
א בַּנַאִי ב-Java למעשה לא "בונה" את האובייקט, הוא משמש לאתחול שדות. תאר לעצמך שזה שלך לכיתה מופשטת יש שדות x ו-y, ושתמיד תרצה שהם יאתחלו בצורה מסוימת, לא משנה איזו תת-מחלקה קונקרטית תיווצר בסופו של דבר.
האם למחלקה מופשטת יש אובייקטים ב-Java?
כי זה תַקצִיר ו לְהִתְנַגֵד הוא בטון. לא, מעצבים לא סיפקו דרך. כי א שיעור מופשט הוא לא שלם מעמד (לא שלם במובן שהוא מכיל תַקצִיר שיטות ללא גוף ופלט) איננו יכולים ליצור מופע או לְהִתְנַגֵד ; כמו שאתה אומר לממשק.
מוּמלָץ:
האם לכיתה מופשטת יכול להיות בנאי?
כן, למחלקה מופשטת יכול להיות בנאי ב-Java. אתה יכול לספק בנאי במפורש למחלקה מופשטת או אם לא, המהדר יוסיף בנאי ברירת מחדל ללא ארגומנט במחלקה מופשטת. זה נכון לכל השיעורים וזה חל גם על מחלקה מופשטת
מה ההבדל בין מחלקה מופשטת לשיטה מופשטת?
שיטות מופשטות הן הצהרה בלבד ולא תהיה לה יישום. מחלקת Java המכילה מחלקה מופשטת חייבת להיות מוכרזת כמחלקה אבסטרקטית. שיטה מופשטת יכולה להגדיר רק משנה נראות, אחד של ציבורי או מוגן. כלומר, שיטה מופשטת אינה יכולה להוסיף שינוי סטטי או סופי להצהרה
האם בנאי יכול לעבור בירושה ב-Java?
לא, לא ניתן להוריש בנאים ב-Java. בתת-מחלקה בירושה יורשת את חברי מחלקת-על למעט בנאים. במילים אחרות, בנאים לא יכולים לעבור בירושה ב-Java ולכן, אין צורך לכתוב סופי לפני בנאים
האם לכיתה יכולה להיות קונסטרוקטור?
ייתכן שלמחלקה אין בנאי. (הבחנה שחשוב לצייר כאן היא שה-JVM אינו מחייב שכל קבצי המחלקה יהיו בעלי בנאי; עם זאת, לכל מחלקה המוגדרת ב-Java יש בנאי ברירת מחדל אם בנאי אינו מוכרז במפורש
האם לכיתה מופשטת יכולות להיות שיטות לא מופשטות?
כן, אנחנו יכולים לקיים מחלקה מופשטת ללא שיטות מופשטות מכיוון ששניהם מושגים עצמאיים. הכרזה על אבסטרקט מחלקה פירושו שלא ניתן ליצור אותו בעצמו וניתן לסווג אותו רק משנה. הכרזה על אבסטרקט של מתודה פירושה שמתודה תוגדר בתת המחלקה