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

 

package

 

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

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

 

·       על ידי כך שהוגדר בתוך המחלקה, או

·       על ידי הורשה ממחלקת-על שהיא:

·       חלק מאותה החבילה, או

·       איננה חלק מאותה חבילה.

 

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

 

·       ללא הורשה

·       מוּרָשים מתוך מחלקת-על הנמצאת בתוך אותה חבילה, או

·       מוּרָשים מתוך מחלקת-על הנמצאת בחבילה אחרת.

 

כפי שתיווכח, הנגישות של חברים מסוג package בתוך האובייקט, אינה זהה בכל שלושת המקרים.

 

 

 

חבר באובייקט

הוא B

package

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

 

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

 

 

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

 

 

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

 

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

 

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

 

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

 

לא-ראה הערה 1

לא

לא

לא

לא

לא משנה

לא-ראה הערה 1

לא

לא

לא

Yes

לא משנה

כן- ראה הערה 2

לא

לא

כן

לא

לא

כן- ראה הערה 2

לא

לא

כן

לא

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

לא- ראה הערה 2

לא

לא

כן

לא

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

כן- ראה הערה 3

לא

לא

כן

כן

לא

כן- ראה הערה 3

לא

לא

כן

כן

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

לא-ראה הערה 3

לא

לא

כן

כן

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

כן-ראה הערה 4

לא

כן

כן

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

לא

כן-ראה הערה 4

לא

כן

כן

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

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

לא-ראה הערה 4

לא

כן

כן

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

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

כן-ראה הערה5

כן

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

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

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

לא

כן-ראה הערה5

כן

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

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

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

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

לא-ראה הערה5

Yes

כן חייב להיות

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

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

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

 

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

 

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

 

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

 

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

 

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

 

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