ההבדל בין משתנה המופע לבין המשתנה המקומי

Anonim

משתנה משתנה לעומת משתנה מקומי

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

-> ->

מהו משתנה מופע?

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

-> ->

מהו משתנה מקומי? משתנים מקומיים הם משתנים בעלי היקף מקומי, ומוכרים בתוך גוש קוד ספציפי. משתנים מקומיים ניתן לראות כמשתנים המשמשים שיטה לאחסון מצב זמני שלה. היקף המשתנה המקומי נקבע באמצעות המיקום בו הוכרז המשתנה, ומילות מפתח מיוחדות אינן משמשות למטרה זו. בדרך כלל, הגישה למשתנה מקומי מוגבלת בתוך בלוק הקוד שהוא מוכרז (i בין פתח הפתיחה והסגירה של בלוק הקוד). משתנים מקומיים מאוחסנים בדרך כלל בערימת השיחה. הדבר יאפשר שיחות פונקציה רקורסיבית לשמור עותקים שלהם של המשתנים המקומיים להיות מאוחסנים רווחים כתובת זיכרון נפרדים. כאשר השיטה מסיימת את ביצועה, מידע על שיטה זו הוא popped מתוך ערימת השיחה, גם להרוס את המשתנים המקומיים המאוחסנים.

-> ->

מה ההבדל בין משתנה משתנה לבין משתנה מקומי?

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