נתון פרויקט שהוגדרו בו ארבע מחלקות ושני ממשקים:
interface IConnectable {void connect(String network);}
interface IRemoteControllable { void performAction(); }
public class EDevice {
private String model;
public EDevice(String model) { this.model = model; }
public void printInfo() {
System.out.println("Device: " + model);
}
}
public class SmartLamp extends EDevice
implements IRemoteControllable {
public SmartLamp(String model) { super(model); }
public void performAction() {
System.out.println("Lamp: Lighting up");
}
}
public class SmartTV extends EDevice
implements IConnectable, IRemoteControllable {
public SmartTV(String model) { super(model); }
public void connect(String net) {
System.out.println("TV connected to " + net);
}
public void performAction() {
System.out.println("TV: Playing movie");
}
}
public class RobotVacuum extends EDevice
implements IConnectable {
public RobotVacuum(String model) { super(model); }
public void connect(String net) {
System.out.println("Vacuum ready on " + net);
}
}
(א)נתון קטע קוד:
```java
EDevice tv = new SmartTV("Sony-4K");
EDevice lamp = new SmartLamp("Lux");
IConnectable vacuum = new RobotVacuum("iRobot");
// **** //
```
עבור כל אחד מהקטעים הבאים (1–6), כתבו אם הוא תקין או גורם לשגיאה כאשר מוסיפים אותו במקום המסומן ב-****.
אם הקוד תקין – הסבירו מה יהיה הפלט. אם לא – הסבירו מדוע.
1.
```java
tv.printInfo();
tv.connect("Home_Net");
```
2.
```java
IRemoteControllable r1 = new SmartLamp("LED");
r1.printInfo();
```
3.
```java
if (vacuum instanceof EDevice) {
((EDevice)vacuum).printInfo();
}
```
4.
```java
SmartTV tv2 = (SmartTV)(new EDevice("Generic"));
tv2.printInfo();
```
5.
```java
IConnectable c1 = (IConnectable)lamp;
c1.connect("Guest_WiFi");
```
6.
```java
IRemoteControllable r2 = vacuum;
r2.performAction();
```
```java
EDevice tv = new SmartTV("Sony-4K");
EDevice lamp = new SmartLamp("Lux");
IConnectable vacuum = new RobotVacuum("iRobot");
// **** //
```
עבור כל אחד מהקטעים הבאים (1–6), כתבו אם הוא תקין או גורם לשגיאה כאשר מוסיפים אותו במקום המסומן ב-****.
אם הקוד תקין – הסבירו מה יהיה הפלט. אם לא – הסבירו מדוע.
1.
```java
tv.printInfo();
tv.connect("Home_Net");
```
2.
```java
IRemoteControllable r1 = new SmartLamp("LED");
r1.printInfo();
```
3.
```java
if (vacuum instanceof EDevice) {
((EDevice)vacuum).printInfo();
}
```
4.
```java
SmartTV tv2 = (SmartTV)(new EDevice("Generic"));
tv2.printInfo();
```
5.
```java
IConnectable c1 = (IConnectable)lamp;
c1.connect("Guest_WiFi");
```
6.
```java
IRemoteControllable r2 = vacuum;
r2.performAction();
```
(ב)כתבו פעולה המקבלת מערך של מכשירי חשמל (מערך עצמים מסוג EDevice) ושם רשת. הפעולה צריכה:
1. להדפיס את המידע של כל מכשיר;
2. אם מכשיר ניתן לחיבור – לחבר אותו לרשת;
3. אם מכשיר ניתן לשליטה מרחוק – להפעיל אותו.
כותרת הפעולה:
```java
public static void setupHome(EDevice[] devices, String network)
```
1. להדפיס את המידע של כל מכשיר;
2. אם מכשיר ניתן לחיבור – לחבר אותו לרשת;
3. אם מכשיר ניתן לשליטה מרחוק – להפעיל אותו.
כותרת הפעולה:
```java
public static void setupHome(EDevice[] devices, String network)
```
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה בטיחות
שאלו כאן — ותקבלו מענה מוסמך.
רוצים לתרגל אלפי שאלות נוספות?
המשיכו לתרגול מלא עם משוב אישי ←מבחני מה"ט אמיתיים · משוב מיידי · וידאו לכל נושא · מעקב התקדמות