שאלה כללית בתכנות מונחה עצמים - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

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


פיני1805

Recommended Posts

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

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

חוץ מזה, אתה יכול להגדיר את הבנאים של המחלקה שלך כ-private, ואז אי אפשר יהיה ליצור אובייקט של המחלקה מחוץ למחלקה עצמה (כלומר, תוכל לעשות לה new רק מתוך פונקציה של המחלקה עצמה, לדוגמה באמצעות פונקציה סטטית). עושים את זה כשרוצים לעשות Singleton או Named Constructors.

קישור לתוכן
שתף באתרים אחרים

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

איך אני קורא ל- MAIN במחללקה אחרת? שם המחלקה נקודה MAIN מבלי ליצור מופע?

קישור לתוכן
שתף באתרים אחרים

מה השיקולים לכך שלא צריך בנאי אם התשובה היא לא?

מחלקה צריכה בנאי כאשר אתה רוצה ליצור אוביקטים. אוביקט אתה צריך כאשר אתה מחזיק מידע באוביקט (מה שנקרא state או לחילופין instance variables)

ישנם מצבים בהם המחלקה היא רק אוסף של פעולות (מתודות) ללא צורץ בשמירת מידע. למשל תחשוב על המחלקה java.lang.Math זו מחלקה שמכילה כל מיני פונקציות מתמטיות כמו max avg וכו אין שום צורך לשמור מידע - הפונקציות עובדות על הארגומנטים שלהם ומחזירות תשובה.

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...