ישנם הבדלים רבים בין עומס יתר של שיטה לעקיפה של שיטה ב-Java. רשימה של הבדלים בין עומס יתר של שיטה לעקיפה של שיטה ניתנת להלן:
לא. | עומס יתר של שיטה | עקיפת שיטה |
---|---|---|
1) | נעשה שימוש בעומס יתר בשיטה כדי להגביר את הקריאות של התוכנית. | נעשה שימוש בדריסת שיטה לספק את היישום הספציפי של השיטה שכבר מסופקת על ידי מחלקת העל שלה. |
2) | מתבצעת עומס יתר של השיטה בתוך הכיתה . | מתרחשת עקיפה של שיטה בשני כיתות שיש להם קשר IS-A (ירושה). |
3) | במקרה של עומס יתר של השיטה, הפרמטר חייב להיות שונה . | במקרה של עקיפת שיטה, הפרמטר חייב להיות זהה . |
4) | עומס יתר בשיטה היא הדוגמה של הידור פולימורפיזם של זמן . | דחיפת שיטה היא הדוגמה של פולימורפיזם של זמן ריצה . |
5) | ב-java, לא ניתן לבצע עומס יתר של שיטה על ידי שינוי סוג ההחזרה של השיטה בלבד. סוג ההחזרה יכול להיות זהה או שונה בעומס יתר בשיטה. אבל אתה חייב לשנות את הפרמטר. | סוג ההחזרה חייב להיות זהה או משתנה בדריסת שיטה. |
דוגמה של עומס יתר בשיטת Java
class OverloadingExample{ static int add(int a,int b){return a+b;} static int add(int a,int b,int c){return a+b+c;} }
דוגמה לעקוף שיטת Java
class Animal{ void eat(){System.out.println('eating...');} } class Dog extends Animal{ void eat(){System.out.println('eating bread...');} }