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

private

 

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

המקרה השני מחולק לשני תת-מקרים: האחד כאשר חבר private אינו מוּרָש, והשני כאשר הוא מוּרָש. כפי שתיווכח, באחד משני המקרים האחרונים, חבר private יהיה נגיש, ובשני הוא יהיה בלתי נגיש.

 

 

 

חבר באובייקט

הוא B

private

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

 

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

 

 

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

 

 

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

 

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

 

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

 

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

 

לא-ראה הערה 1

לא

לא משנה

לא משנה

לא משנה

לא משנה

כן ראה הערה 2

כן

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

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

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

|לא

לא-ראה הערה 2

כן

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

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

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

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

 

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

 

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

מחלקת-העל.

 

public

 

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

 

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

 

חבר באובייקט

הוא B

public

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

 

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

 

 

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

 

 

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

 

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

 

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

 

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

 

כן-ראה הערה 1

לא משנה

לא משנה

לא משנה

לא משנה

לא משנה

 

 

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

 

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