» נושאי לימוד
» נושאי לימוד
יום שני 29 באפריל 2024
protected
דף ראשי  מתחילים  בקרת גישה  protected גרסה להדפסה

protected

 

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

בכל טבלה, אמצעי בקרת הגישה, המיושם על חבר המחלקה הנתון, מופיע בפינה השמאלית העליונה.

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

נוסף על כך מצוינות בכל טבלה הפניות להערות, המופיעות לאחר הטבלה, ומסבירות כל אחת מהאפשרויות.

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

יתר השורות משקפת מצב, שבו הקוד במתודות של אובייקט אחד מנסה לגשת לחברים של אובייקט אחר.

 

זכור, כי הטבלה מייצגת שכבה אחת בקוביה בעלת ארבע שכבות. שלוש השכבות האחרות יוצגו בהמשך השיעור.

 

 

 

חבר באובייקט

הוא B protected

 

אובייקט  B ביחס לאובייקט A

 

 

 

האם חבר באובייקט B  נגיש ע"י קוד באובייקט A

 

האם אובייקט B הוא בדיוק אותו אובייקט כמו אובייקט A

 

האם אובייקט B הוא מאותה מחלקה כמו של אובייקט A

 

האם המחלקה של אובייקט B נמצאת באותה חבילה של המחלקה של אובייקט A

 

האם אובייקט B של מחלקה שהיא מחלקת על של המחלקה של אובייקט A

 

האם החבר יורש ואם כן מאיזו מחלקה

 

לא-ראה הערה1

לא

לא

לא

לא

לא משנה

לא-ראה הערה1

לא

לא

לא

כן

לא משנה

כן-ראה הערה 2

לא

לא

כן

לא

לא

כן-ראה הערה 2

לא

לא

כן

לא

כן-מאותה חבילה

לא-ראה הערה2

לא

לא

כן

לא

כן- מחבילה שונה

כן-ראה הערה 3

לא

לא

כן

כן

לא

כן-ראה הערה 3

לא

לא

כן

כן

כן-מאותה חבילה

לא-ראה הערה3

לא

לא

כן

כן

כן- מחבילה שונה

כן-ראה הערה 4

לא

כן

כן

לא- לא יכול להיות

לא

כן-ראה הערה 4

לא

כן

כן

לא- לא יכול להיות

כן- מאותה חבילה

כן-ראה הערה 4

לא

כן

כן

לא- לא יכול להיות

כן- מחבילה שונה

כן-ראה הערה 5

כן

כן-חייב להיות

כן- חייב להיות

לא- לא יכול להיות

לא- משנה

 

הערה 1: חברים מסוג protected של אובייקט B אינם נגישים לקוד שבאובייקט A אם אובייקט B נמצא בחבילה אחרת, ללא קשר לעובדה אם אובייקט B הוא ממחלקה שהיא מחלקת-על של אובייקט A

 

הערה 2: חברים מסוג protected של אובייקט B נגישים לקוד שבאובייקט A אם המחלקה של אובייקט B נמצאת בתוך אותה החבילה כמו אובייקט A.
אולם שים לב, שחברים מסוג
package של אובייקט B, ואשר מוּרָשים מתוך מחלקת-על,
יהיו נגישים לאובייקט 
A רק אם מחלקת-העל נמצאת בתוך אותה החבילה שבה גם נמצאת המחלקה של אובייקט A

 

הערה 3: כאשר המחלקה של אובייקט B היא מחלקת-על של המחלקה של אובייקט A,
חברים מסוג
protected של אובייקט B יהיו נגישים לקוד שבאובייקט A אם המחלקה של אובייקט B נמצאת בתוך אותה החבילה כמו אובייקט A. אולם שים לב, שחברים מסוג protected של אובייקט B, ואשר מוּרָשים מתוך מחלקת-על, יהיו נגישים לאובייקט A רק אם מחלקת-העל נמצאת בתוך אותה החבילה שבה גם נמצאת המחלקה של אובייקט A.

 

הערה 4: כאשר אובייקט A ואובייקט B שניהם מאותה מחלקה, חברים מסוג protected של אובייקט B נגישים לקוד שבאובייקט A. שים לב, שחברים מסוג protected של אובייקט B, ואשר מוּרָשים מתוך מחלקת-על, יהיו נגישים לאובייקט A גם אם מחלקת-העל אינה נמצאת בתוך אותה החבילה שבה נמצאת המחלקה של אובייקט A.

 

הערה 5: כאשר אובייקט A ואובייקט B הם אותו האובייקט, כל החברים מסוג protected של אותו אובייקט נגישים לקוד שבאובייקט, בין אם אותם חברים הוגדרו במחלקה של האובייקט, ובין אם הם הוגדרו במחלקת-העל של האובייקט באופן שאינו תלוי באיזו חבילה נמצאת מחלקת-העל.

 

 29-12-03 / 19:17  נוצר ע"י רונית רייכמן  בתאריך 
 בקרת גישה - הקודםהבא - package 
תגובות הקוראים    תגובות  -  0
דרכונט
מהי מערכת הדרכונט?
אינך מחובר, להתחברות:
דוא"ל
ססמא
נושאי לימוד
חיפוש  |  לא פועל
משלנו  |  לא פועל
גולשים מקוונים: 4