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

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