פורסם 2010 באפריל 2415 שנים שלום,האם לכל מחלקה שאני בונה צריך להיות בנאי? או שאפשר להשתמש רק ב- MAIN?מה השיקולים לכך שלא צריך בנאי אם התשובה היא לא?תודה
פורסם 2010 באפריל 2415 שנים אם אתה לא נותן למחלקה שום בנאי, אז אוטומטית נוצר לה בנאי דיפולטי שלא מקבל שום פרמטר ולא עושה כלום (לא מאתחל שום איבר של האובייקט).חוץ מזה, בשפות מסויימות (לא זוכר אם רק ב-++C או שגם ב-#C ובג'אווה) תמיד נוצר (באופן אוטומטי) למחלקה בנאי מעתיק, שמקבל פרמטר אחד מאותו טיפוס של המחלקה ומעתיק את כל האיברים שלה אחד אחד.חוץ מזה, אתה יכול להגדיר את הבנאים של המחלקה שלך כ-private, ואז אי אפשר יהיה ליצור אובייקט של המחלקה מחוץ למחלקה עצמה (כלומר, תוכל לעשות לה new רק מתוך פונקציה של המחלקה עצמה, לדוגמה באמצעות פונקציה סטטית). עושים את זה כשרוצים לעשות Singleton או Named Constructors.
פורסם 2010 באפריל 2415 שנים מחבר ואם בתוך המחלקה יש פונקציה MAIN אז הוא מבצע אותה עם בניית מופע של המחלקה באופן אוטומטי?
פורסם 2010 באפריל 2415 שנים לא. פונקציית ה-main חייבת להיות סטטית, מה שאומר שמריצים אותה בלי ליצור מופע של המחלקה.
פורסם 2010 באפריל 2415 שנים מחבר אוקיי ונגיד שיש לי כמה מחלקות שלכל אחת יש MAIN. אני מתחיל את ריצת התוכנית שלי עם מחלקה ספציפית אחת.איך אני קורא ל- MAIN במחללקה אחרת? שם המחלקה נקודה MAIN מבלי ליצור מופע?
פורסם 2010 באפריל 2515 שנים בדיוק. Main זו פונקציה סטטית לכל דבר.חוץ מזה, לא נהוג שתהיה בקוד שלך יותר מפונקצייה אחת בשם Main... את ה-Main האמיתית שלך תשאיר כמו שהיא, אבל לשאר פונקציות ה-main תן שמות אחרים.
פורסם 2010 באפריל 2615 שנים מה השיקולים לכך שלא צריך בנאי אם התשובה היא לא?מחלקה צריכה בנאי כאשר אתה רוצה ליצור אוביקטים. אוביקט אתה צריך כאשר אתה מחזיק מידע באוביקט (מה שנקרא state או לחילופין instance variables)ישנם מצבים בהם המחלקה היא רק אוסף של פעולות (מתודות) ללא צורץ בשמירת מידע. למשל תחשוב על המחלקה java.lang.Math זו מחלקה שמכילה כל מיני פונקציות מתמטיות כמו max avg וכו אין שום צורך לשמור מידע - הפונקציות עובדות על הארגומנטים שלהם ומחזירות תשובה.
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.