בפרויקט פיתוח רכב אוטונומי הוגדרו שלושה ממשקים ושתי מחלקות:
בפרויקט פיתוח רכב אוטונומי הוגדרו שלושה ממשקים ושתי מחלקות:
public interface Steering {
void turnLeft();
void turnRight(int degrees);
}
public interface Navigation{ void setDestination(String dest); }
public interface Sensing { void activateLidar(); }
public class AutonomousCar implements Steering, Navigation, Sensing {
private String modelName;
private double batteryLevel;
// ...
}
public class TestDrive {
public static void main(String[] args) {
AutonomousCar car1 = new AutonomousCar("Tesla Y", 98.5);
AutonomousCar car2 = new AutonomousCar("Waymo One");
// ( *****)
}
}
השלימו את המחלקה AutonomousCar: כתבו כותרות לפעולות החסרות בה, כולל כל הפעולות הבונות (constructors) הנדרשות כדי שהקוד בפעולה main יהיה תקין, וכן את כל הפעולות הנדרשות למימוש הממשקים. אין צורך לממש את גוף הפעולות.
בכל אחד מסעיפים הבאים השורה (*****) תוחלף בשורת קוד משורות הקוד 1–6 מהטבלה הבאה. עבור כל אחד מהסעיפים, כתבו אם הקוד תקין או לא. אם הקוד אינו תקין – יש להסביר למה הוא אינו תקין, יש לציין את סוג השגיאה (קומפילציה או זמן ריצה). שימו לב: אין קשר בין סעיפים.
-
Steering s1 = car1;s1.turnRight(45); -
Navigation n2 = new Navigation();n2.setDestination("Tel Aviv"); -
Navigation n3 = new AutonomousCar("Audi A8", 60.0);Steering s3 = (AutonomousCar)n3; -
Navigation n4 = new AutonomousCar("Mercedes");n4.activateLidar(); -
Steering s5 = new AutonomousCar("Ford");Sensing sn5 = (Sensing) s5 ;sn5.activateLidar(); -
Sensing sn6 = new AutonomousCar("Nissan", 70.0);((AutonomousCar) sn6).turnLeft();((Navigation) sn6).setDestination("Haifa");
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.