חבר וחבר מוגן ב- VB.NET

משתני גישה (נקראים גם כללי סקופינג) קובעים לאיזה קוד יכול לגשת לאלמנט - כלומר לאיזה קוד יש הרשאה לקרוא אותו או לכתוב לו. בגירסאות קודמות של Visual Basic היו שלושה סוגים של שיעורים. אלה הועברו ל- .NET. בכל אחד מאלה .NET מאפשרת גישה לקוד בלבד:

  • פרטי - בתוך אותו מודול, כיתה או מבנה זהה.
  • חבר - באותה הרכבה.
  • ציבורי - בכל מקום באותו פרויקט, מפרויקטים אחרים שמתייחסים לפרויקט ומכל הרכבה שנבנתה מהפרויקט. במילים אחרות, כל קוד שיכול למצוא אותו.

VB.NET הוסיף גם אחד וחצי חדשים.

  • מוגן
  • חבר מוגן

"החצי" נובע מכך שהמגן המוגן הוא שילוב של הכיתה החדשה המוגנת וכיתת החברים הישנה.

שינוי החברים המוגנים והמוגנים נחוצים מכיוון ש VB.NET מיישם את דרישת ה- OOP האחרונה לפיה VB היה חסר: ירושה.

לפני VB.NET, מתכנתים C ++ ותוספי Java מפוארים ומזלזלים היו מקטינים את VB כיוון שלדבריהם "לא היו מונחים עצמים לחלוטין." למה? גרסאות קודמות לא היו בירושה. ירושה מאפשרת לחפצים לשתף את הממשקים ו / או היישום שלהם בהיררכיה. במילים אחרות, ירושה מאפשרת לאובייקט תוכנה אחד שלוקח על עצמו את כל השיטות והמאפיינים של אחד אחר.

זה נקרא לעתים קרובות מערכת היחסים "הוא-".

instagram viewer
  • משאית "היא" רכב.
  • צורה מרובעת "היא".
  • כלב "הוא" יונק.

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

היתרון הגדול הוא בכך שתוכלו לארגן את הקוד כך שתצטרכו רק לכתוב קוד שעושה משהו שהרבה חפצים צריכים לעשות פעם אחת בהורה. לכל ה"עובדים "יש להקצות להם" מספר עובדים ". קוד ספציפי יותר יכול להיות חלק משיעורי הילדים. רק עובדים העובדים במשרד הכללי צריכים להקצות להם מפתח כרטיס דלת.

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

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

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

instagram story viewer