שאלה בג'אווה

צבתות

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

יש לי מחלקה כלשהי, ואני רוצה לבנות מחלקה אחרת שיהיו לה את כל השדות כמו למחלקת המקור, עם כל הפונקציונליות שלה, ובנוסף כמה מחלקות "אקטרה". אז הבנתי שאני אמור להשתמש ב-extend. אבל מה הסינטקס המדוייק? רשמתי:
public class A extends B { public A (arguments){ super(arguments) } }​
מרגע זה והלאה, יש לי את כל הפונקציות של מחלקה B והשדות שלה? כולל ה-private? או רק ה-public? במידה ואני רוצה לכתוב פונקציה חדשה ל-A שעושה שימוש בפונקציה שכתובה עבור B, מה הסינטקסט המדוייק לקריאה לפונקציה?
 

melatonin

New member
כדאי שתלמד על כל נושא הירושה

הכל יראה הרבה יותר ברור לאחר מכן. ספציפית לנקודות שהעלית: הגדרת מחלקה A שיורשת מB. היא יכולה להשתמש בכל הפונקציות והשדות של B שמוגדרים public או protected, ולא private. כדי לקרוא מA לפונקציה func של B יש להשתמש ב super.func(). ובאמת, כדאי שתלמד טוב את הנושא, שכן הוא המפתח לכמעט כל דבר בג'אווה.
 

צבתות

New member
תודה

יש לך אולי לינקים טובים להסברים עם דוגמאות? באתר של SUN לא מצאתי דוגמאות קונקרטיות לשימוש בזה. אבל בהחלט עזרת לי! תודה.
 

melatonin

New member
כל ספר / אתר שמתיימר ללמד ג'אווה

אין לי כרגע לינקים, אבל באמת, כל tutorial בסיסי לג'אווה מסביר ירושה. בקשר לרמת איכות ההסבר, זה כבר סיפור אחר ללא ספק
 

צבתות

New member
אכן ספר טוב

למעט העובדה שהוא שבר לי את הגב כשניסיתי להרים אותו... :)
 
למעלה