使用面向对象模拟遥控器控制电视机的开,关,换台,要求:一个遥控器可以控制多台电视机的开,关,换台
时间: 2024-04-16 12:26:46 浏览: 37
好的,以下是一个使用面向对象模拟遥控器控制电视机的示例代码:
```java
// 电视机类
class TV {
private boolean isOn;
private int currentChannel;
public void turnOn() {
isOn = true;
System.out.println("电视机已打开");
}
public void turnOff() {
isOn = false;
System.out.println("电视机已关闭");
}
public void changeChannel(int channel) {
if (isOn) {
currentChannel = channel;
System.out.println("电视机频道已切换到:" + channel);
} else {
System.out.println("请先打开电视机");
}
}
}
// 遥控器类
class RemoteControl {
private TV tv;
public RemoteControl(TV tv) {
this.tv = tv;
}
public void turnOnTV() {
tv.turnOn();
}
public void turnOffTV() {
tv.turnOff();
}
public void changeChannel(int channel) {
tv.changeChannel(channel);
}
}
// 主类
public class Main {
public static void main(String[] args) {
// 创建电视机对象
TV tv1 = new TV();
TV tv2 = new TV();
// 创建遥控器对象并关联电视机
RemoteControl remoteControl1 = new RemoteControl(tv1);
RemoteControl remoteControl2 = new RemoteControl(tv2);
// 使用遥控器控制电视机
remoteControl1.turnOnTV();
remoteControl1.changeChannel(5);
remoteControl2.turnOnTV();
remoteControl2.changeChannel(8);
remoteControl1.changeChannel(3);
remoteControl2.turnOffTV();
}
}
```
在上面的代码中,我们首先定义了一个电视机类TV,其中包含了打开、关闭和换台的方法。然后,我们创建了一个遥控器类RemoteControl,它通过关联一个电视机对象来实现对电视机的控制。在主类Main中,我们创建了两台电视机对象tv1和tv2,并创建了两个遥控器对象remoteControl1和remoteControl2,并分别关联不同的电视机对象。通过调用遥控器对象的方法,可以控制对应的电视机的开关和换台操作。
运行代码后,输出结果如下:
```
电视机已打开
电视机频道已切换到:5
电视机已打开
电视机频道已切换到:8
电视机频道已切换到:3
电视机已关闭
```
这样,我们就通过面向对象的方式模拟了遥控器控制多台电视机的开、关和换台功能。