Want to create interactive content? It’s easy in Genially!
ירושה ופולימורפיזם
אריאל קלפנר קלפנר
Created on November 23, 2021
Start designing with a free template
Discover more than 1500 professional designs like these:
View
Startup Speed Quiz
View
Corporate Memory Challenge
View
Higher Education Test Mobile
View
Flash Challenge Quiz
View
Flags Challenge
View
News quiz mobile
View
News Quiz
Transcript
ירושה ופולימורפיזם
shoot the clown!
start
1/10
חברת "צעצועים זה הם" מעונינת למחשב את מאגר הצעצועים במחסן שלה. כדי לעשות זאת הוגדרו שתי מחלקות בעבור שני סוגים של צעצועים: המחלקה Doll בעבור בובות והמחלקה Car בעבור מכוניות צעצוע. הוגדרה מחלקה חדשה Toy שהמחלקות Car ו Doll יורשות ממנה. כיצד יראה עץ הירושה של חברת "צעצועים זה הם"
1/10
כל הכבוד !!!
לחידה הבאה
2/10
במחלקה Doll הוגדרו התכונות הבאות: שם הבובה(String name), מחיר הבסיס של הבובה(double basePrice), צבע שיער( String color), מספר האביזרים המצורפים(int accNums), מחיר לאביזר(double accPrice)לכל האביזרים מחיר זהה. במחלקה Car הוגדרו התכונות הבאות: שם מכונית הצעצוע(String name), מחיר הבסיס של המכונית(double basePrice), סיווג גודל המכונית(int num) 0-מכונית קטנה, 1 - מכונית בינונית, 2 - מכונית גדולה, צבע המכונית (String color). כיצד אמורה להיראות המחלקה Toy.
public class Toy{ protected String name; protected double basePrice; protected String color; }
public class Toy{ protected String name; protected int basePrice; protected String color; }
public class Toy{ protected String name; protected double basePrice; protected int num; }
2/10
כל הכבוד !!!
לחידה הבאה
3/10
במחלקה Doll הוגדרה הפעולה price שמחזירה את מחיר הבובה לצרכן. מחיר הבובה לצרכן הוא מחיר הבסיס שלה, בתוספת מחיר האביזרים (המחושב לפי מספר האביזרים כפול המחיר לאביזר). במחלקה Car הוגדרה הפעולה price שמחזירה את מחיר המכונית לצרכן. מחיר המכונית לצרכן נקבע עלפי גודלה, המחיר של מכונית קטנה הוא מחיר הבסיס, המחיר לצרכן של מכונית בינונית הוא מחיר בסיס + 15 ש"ח, המחיר לצרכן של מכונית גדולה הוא מחיר הבסיס + 30 ש"ח. חשבו תוך הקפדה על עיקרון הירושה כיצד הייתם כותבים את הפעולה price בכל אחת מן המחלקות בעץ הירושה ?
נכתוב את הפעולה price במחלקה Doll ובמחלקה Car ומשתמש ב - super גדי להשתמש בתכונה price שנמצאת במחלקת העל Toy.
נכתוב פעולה price במחלקה Toy שמחשבת את מחיר הבובה והמכונית לצרכן.
נכתוב פעולה prIce במחלקה Doll ובמחלקה Car. הפעולות שנכתוב תקראנה לתכונה basePrice ממחלקת העל לצורך חישוב המחיר לצרכן.
3/10
כל הכבוד !!!
לחידה הבאה
4/10
במחלקה Doll הוגדרה הפעולה price שמחזירה את מחיר הבובה לצרכן. מחיר הבובה לצרכן הוא מחיר הבסיס שלה(price), בתוספת מחיר האביזרים (המחושב לפי מספר האביזרים, accNum כפול המחיר לאביזר, accPrice). כיצד תראה הפעולה price במחלקה Doll ?
public double price() { return this.basePrice + this.accPrice + this.accNum ; }
public double price() { return this.basePrice + this.accPrice * this.accNum ; }
public double price() { return this.basePrice * this.accPrice * this.accNum ; }
4/10
כל הכבוד !!!
לחידה הבאה
5/10
במחלקה Car הוגדרה הפעולה price שמחזירה את מחיר המכונית לצרכן. מחיר המכונית לצרכן נקבע עלפי גודלה(size, מכונית קטנה - 0, מכונית בינונית - 1, מכונית גדולה - 2), המחיר של מכונית קטנה הוא מחיר הבסיס, המחיר לצרכן של מכונית בינונית הוא מחיר בסיס + 15 ש"ח, המחיר לצרכן של מכונית גדולה הוא מחיר הבסיס + 30 ש"ח. כיצד תראה הפעולה price במחלקה Car ?
public double price() { return this.basePrice + this.size+30; }
public double price() { return this.basePrice + this.size*15 ; }
public double price() { return this.basePrice + this.size*2; }
5/10
כל הכבוד !!!
לחידה הבאה
6/10
במחלקות Doll, ו - Car הוגדרה הפעולה updatePrice שמעדכנת את המחיר של הבובה ושל המכונית באופן הבא: עדכון מחיר הבסיס על ידי הגדלתו ב - p אחוזים. p הוא מספר ממשי המתקבלת כפרמטר. היכן כדאי לממש את הפעולה updatePrice ?
במחלקת העל Toy
במחלקה Doll ונוריש אותה למחלקה Car
בכל אחת מהמחלקות Car ו - Doll
6/10
כל הכבוד !!!
לחידה הבאה
7/10
בחר את שורת הקוד הנכונה.
Car c = new Car("police",30, "black", 1); Toy t = c ; int s = ((Car)t).getSize();
Car c = new Car("police",30, "black", 1); Toy t = c ; int s = (Car)t.getSize();
Car c = new Car("police",30, "black", 1);Toy t = c ; int s = t.getSize();
7/10
כל הכבוד !!!
לחידה הבאה
8/10
בחר את שורת הקוד הנכונה.
Doll d = new Doll("Bella",30, "black", 2, 5); Toy t = d ; int s = (Doll)t.getAccNum();
Doll d = new Doll("Bella",30, "black", 2, 5); Toy t = d ; int s = t.getAccNum();
Doll d = new Doll("Bella",30, "black", 2, 5); Toy t = d ; int s = ((Doll)t).getAccNum();
8/10
כל הכבוד !!!
לחידה הבאה
9/10
סמן את שורת הקוד בה מתבצעת המרה חוקית כלפי מעלה
Toy t = new Toy("bbb", 30);Car c = t ;
Car c = new Car("aaa",30,2);Toy t = c ;
Car c = new Car("aaa",30,2); Doll d = c ;
9/10
כל הכבוד !!!
לחידה הבאה
10/10
סמן את שורת הקוד בה מתבצעת המרה חוקית כלפי מטה
Car c = new Car("aaa",30,2); Toy t = c ; Car c1 = (Car)t
Toy t = new Toy("bbb", 30); Car c = t ;
Car c = new Car("aaa",30,2); Doll d = (Doll)c ;
10/10
כל הכבוד !!!
לפרס
נסה שנית
כל הכבוד !!!
