שאלת מבחן במבוא למדעי המחשב - האוניברסיטה הפתוחה 2015 - ירושה
לפניכם המחלקות Test1, Test2 (כל מחלקה בקובץ נפרד).
נגדיר את כל אחת מהשיטות הבאות במחלקה Test2 במקום המסומן במקום ההערה. סמנו בעיגול אם השיטה:
א. מעמיסה את השיטה ב-Test1 (overloading)
ב. דורסת את השיטה ב-Test1 (overriding)
ג. לא חוקית (אם לא חוקית, עליכם לציין מה הסיבה)
1.
2.
3.
4.
5.
6.
נגדיר את כל אחת מהשיטות הבאות במחלקה Test2 במקום המסומן במקום ההערה. סמנו בעיגול אם השיטה:
א. מעמיסה את השיטה ב-Test1 (overloading)
ב. דורסת את השיטה ב-Test1 (overriding)
ג. לא חוקית (אם לא חוקית, עליכם לציין מה הסיבה)
1.
public double f1(double a, double b) { ... }2.
public void f1(int a, int b, int c) { ... }3.
public void f1(String p, double q) { ... }4.
public void f1(double p, String q) { ... }5.
public void f1(String a, double b) { ... }6.
public void f1(String p, String q) { ... }העתק שאלה
שתף שאלה
סמן כחשוב
סמן כבוצע
האוניברסיטה הפתוחה832015סמסטר ב
★★★★★
ירושהOverloadingפולימורפיזםתכנות מונחה עצמים
overriding דורש אותה חתימה בדיוק (שם, פרמטרים, טיפוס החזרה תואם). overloading דורש שינוי ברשימת הפרמטרים. שימו לב שטיפוס החזרה שונה לא מספיק כדי להעמיס.
1.
2.
3.
4.
5.
6.
הערה: שיטה 1 יכולה להיחשב לא חוקית כי ב-Java אם אותם פרמטרים קיימים - שינוי טיפוס החזרה בלבד לא מספיק. אולם כאן הפרמטרים שונים (double, double), לכן זו העמסה חוקית.
public double f1(double a, double b) { ... } - א. העמסה (overloading) - הפרמטרים שונים (double, double במקום String, double).2.
public void f1(int a, int b, int c) { ... } - א. העמסה (overloading) - מספר פרמטרים שונה (3 במקום 2) וטיפוסים שונים.3.
public void f1(String p, double q) { ... } - ב. דריסה (overriding) - אותה חתימה בדיוק (String, double) ואותו טיפוס החזרה void.4.
public void f1(double p, String q) { ... } - א. העמסה (overloading) - סדר הפרמטרים שונה.5.
public void f1(String a, double b) { ... } - ב. דריסה (overriding) - אותה חתימה בדיוק. שמות הפרמטרים אינם משנים.6.
public void f1(String p, String q) { ... } - א. העמסה (overloading) - הפרמטר השני שונה (String במקום double).הערה: שיטה 1 יכולה להיחשב לא חוקית כי ב-Java אם אותם פרמטרים קיימים - שינוי טיפוס החזרה בלבד לא מספיק. אולם כאן הפרמטרים שונים (double, double), לכן זו העמסה חוקית.