שאלות בג'אווה

RebelRex

New member
שאלות בג'אווה

קשור לירושה- במידה ואובייקט יורש מאובייקט אחר ודורס מתודה של האובייקט האב, האם יש גישה למתודה של האב, בmain , דרך משתנה של הבן?
האם ניתן לדרוס מתודות שהן private? האם ניתן לדרוס שדות?
 

nocgod

New member
את כל התשובות לשאלות שלך אפשר למצוא...

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

לגבי הורשה ממחלקה (שים לב לא מאובייקט יורשים אלא ממחלקה): אם מחלקת הבן יורשת ממחלקת האב ומכסה(מחביאה - hiding) אותה, בmain עד כמה שאני יודע לא תוכל לגשת למתודה באב.
הדרך שאני יכול לחשוב עליה היא לעשות דלגציה... תעשה מתודה בבן שקוראת למתודה באב באמצעות המילה השמורה super
http://docs.oracle.com/javase/tutorial/java/IandI/override.html
אם אני לא טועה הסיפור קצת שונה ב++C עם המצביעים... אם אתה מחליף מצביע למחלקת האב והמתודות אינן virtual אז תוכל לגשת למתודה באב... או אם אתה עושה superclass::foo()...אבל זה סתם בירבורים לא קשורים

אי אפשר לדרוס מתודות שהן private מהסיבה הפשוטה שבמחלקת הבן לא רואים את המתודה אצל האב, אתה יכול לכתוב מתודה חדשה עם אותה החתימה וזה לא יקרא דריסה/החבאה (override/hide) כי הבן מלכתחילה אינו רואה את המתודה אצל האב מאחר והיא private.

לשאלה עם דריסת שדות אני חושב שתמצא את התשובה
http://geekexplains.blogspot.co.il/2008/06/field-hiding-in-java-fields-are-only.html

באמת, אני לא שוס בג'אווה אל תתפוס אותי במילה...אבל התשובות נמצאות באינטרנט (גוגל באמת יודע הכל...) רק צריך להפסיק להתעצל לחפש
 

RebelRex

New member
תודה

לא נגעתי בתכנות כבר כמה שנים ואני מנסה לשחזר את מה שידעתי

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

nocgod

New member
אין שום בעיה באינטרקציה אנושית

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