תוכן עניינים:
הגדרה - מה המשמעות של משתני הגישה?
משתני גישה הם מילות מפתח המשמשות לציון הנגישות של מחלקה (או סוג) ושל חבריה. ניתן להשתמש במוני שינוי אלה מקוד בתוך היישום הנוכחי או מחוצה לו.
משני גישה ב- .NET משמשים לבקרת הנגישות של כל אחד מהחברים מהסוג מאזורי קוד שונים. ניתן לטפל בזה מתוך המכלול הנוכחי או מחוצה לו. מכלול מייצג יחידה לוגית של פונקציונליות ומורכב מסוגים ומשאבים שנמצאים בקובץ אחד או יותר.
מטרת השימוש במודעי גישה היא ליישם אנקפסולציה, המפרידה בין ממשק מסוג לבין יישוםו. בכך ניתן להפיק את היתרונות הבאים:
- מניעת גישה לנתונים הפנימיים שנקבעו על ידי המשתמשים למצב לא חוקי.
- הפרשה לשינויים ביישום הפנימי של הסוגים מבלי להשפיע על הרכיבים המשתמשים בהם.
- הפחתה במורכבות המערכת על ידי צמצום התלות ההדדית בין רכיבי התוכנה.
Techopedia מסביר את Access Access Modifiers
המסגרת .NET מספקת אפשרות לחמישה סוגים של משתני גישה:
- קוד פרטי בתוך הסוג יכול לגשת רק לחברים מאותו סוג, ומכאן שהנגישות מוגבלת לסוג הנוכחי
- קוד ציבורי מכל מקום בתוך האסיפה הנוכחית, או מכלול אחר שמפנה אליו, יכול לגשת לחברים מהסוג, ומכאן מאפשר נגישות מכל מקום
- מוגן - קוד בתוך הסוג, או הכיתות הנגזרות שלו, יכולים לגשת לחברי הסוג ומכאן שהנגישות מוגבלת לסוג הנוכחי ולכיתות הנגזרות.
- פנימי - קוד במכלול הנוכחי, אך לא ממכלול אחר, יכול לגשת לחברים מהסוג, ומכאן שהנגישות מוגבלת להרכבה הנוכחית.
- קוד מוגן בפנימיות במכלול הנוכחי יכול לגשת לחברים מהסוג וגם מהאסיפה שמפנה אליו. מכאן שהנגישות היא משיעורים נגזרים במכלול הנוכחי, והיא חייבת להתקיים באמצעות מופע מסוג כיתה נגזר במכלול המפנה אליו.
ישנם כמה כללים החלים על מכוני הגישה:
- כאשר אין שינוי הגישה שצוין להקליד חברים, רמת הגישה לברירת המחדל היא פרטית ופנימית.
- אין לשנות שינויים בגישה עבור מרחבי שמות, מכיוון שהם ציבוריים.
- המחלקות המקוננות וחברי ה- struct המוצהרים בסוג הם, לפי המחלקה המכילה, פרטיים כברירת מחדל.
- לא ניתן להכריז על חברי מבנה כמוגנים מכיוון שהם אינם תומכים בירושה.
- להרס לא יכולים להיות שינויים בגישה.
- לסוג הנגזר לא יכול להיות נגישות גבוהה יותר מאשר סוג הבסיס שלו.
- לחבר מסוג המכיל צריך להיות נגישות פחותה מזו של הסוג המכיל. ניתן להמחיש זאת באמצעות דוגמה: בשיטה ציבורית בסוג המכיל לא יכול להיות "A" כפרמטר, אם סוג A אינו נמצא בנראות ציבורית.
- ממשקים מוכרזים כציבוריים ופנימיים, ואינם יכולים להיות בעלי שינויים אחרים בגישה, מכיוון שממשקים משמשים בעיקר לגישה על ידי מעמדות הנובעים מכך.
- משתני גישה משמשים לא רק לחברי הכיתה, אלא גם למבני קוד אחרים עם אותה כוונה.
