תכנות מתקדם ב-Java/אובייקטים: הבדלים בין גרסאות בדף

תוכן שנמחק תוכן שנוסף
Johnny Zoo (שיחה | תרומות)
מ תיקון טעות גסה
שורה 46:
{{קוד|<nowiki>MyClass obj = new MyClass(1, 2.3);</nowiki>}}
מרבית הקוראים בוודאי יתמהו: מדוע להכריז בצורה כזו על האובייקט? מדוע שלא להכריז על אובייקט כמו שמכריזים על משתנה פשוט - {{קוד בשורה|MyClass obj;}}?
למען האמת, מורכבת ההכרזה שהצגנו כאן משני חלקים. החלק הראשון, הימניהשמאלי - {{קוד בשורה|MyClass obj}} יוצר הפנייה (מצביע) לאובייקט מטיפוס MyClass, הפנייה שעד יצירת האובייקט מכוונת לערך ריק - null. האובייקט עצמו לא נוצר. החלק השני, השמאליהימני, בו אנו פונים לבנאי, הוא החלק שמקצה זיכרון עבור האובייקט, ויוצר אותו במקום שהוקצה עבורו בזיכרון. כשתלמדו כמה צדדים מתוחכמים יותר של התכנות מונחה העצמים תוכלו להבין טוב יותר מדוע קיימת ההפרדה הזו.
 
===משתנים ושיטות===