使用外观模式实现教室设备的统一操作,包括上课(startclass)和下课(endclass)两个按钮,设备包括电脑(start和stop)、幕布(down和up)、投影仪(open和close)、话筒(open和stop)。java版代码
时间: 2024-05-14 09:17:30 浏览: 68
教室设备的统一操作可以使用外观模式实现,以下是Java版的代码示例:
```java
// 外观类
public class ClassroomFacade {
private Computer computer;
private Screen screen;
private Projector projector;
private Microphone microphone;
public ClassroomFacade() {
this.computer = new Computer();
this.screen = new Screen();
this.projector = new Projector();
this.microphone = new Microphone();
}
// 开始上课
public void startClass() {
computer.start();
screen.up();
projector.open();
microphone.open();
}
// 结束上课
public void endClass() {
computer.stop();
screen.down();
projector.close();
microphone.stop();
}
}
// 电脑类
public class Computer {
public void start() {
System.out.println("电脑启动");
}
public void stop() {
System.out.println("电脑关闭");
}
}
// 幕布类
public class Screen {
public void up() {
System.out.println("幕布升起");
}
public void down() {
System.out.println("幕布降下");
}
}
// 投影仪类
public class Projector {
public void open() {
System.out.println("投影仪打开");
}
public void close() {
System.out.println("投影仪关闭");
}
}
// 话筒类
public class Microphone {
public void open() {
System.out.println("话筒打开");
}
public void stop() {
System.out.println("话筒关闭");
}
}
// 测试类
public class Test {
public static void main(String[] args) {
ClassroomFacade facade = new ClassroomFacade();
facade.startClass();
System.out.println("------上课中------");
facade.endClass();
}
}
```
在上面的代码中,外观类`ClassroomFacade`封装了电脑、幕布、投影仪和话筒的操作,对外提供了开始上课和结束上课的接口。客户端只需要使用外观类即可完成教室设备的统一操作。
阅读全文