编写Java程序,设计一个门类Door,可以实现基本的开关行为(方法),现在要扩展功能,具有报警功能和落锁功能。请问,如何对类Door进行修改更合适?
时间: 2024-03-16 21:45:42 浏览: 26
为了在Door类中添加报警功能和落锁功能,我们可以采用继承和接口的方式进行修改。具体地,我们可以创建一个Alarm接口,其中定义报警方法,以及一个Lockable接口,其中定义落锁和解锁方法,然后让Door类实现这两个接口。
下面是代码示例:
```java
// Alarm接口,定义报警方法
public interface Alarm {
public void alarm();
}
// Lockable接口,定义落锁和解锁方法
public interface Lockable {
public void lock();
public void unlock();
}
// Door类,继承Object类并实现Alarm和Lockable接口
public class Door extends Object implements Alarm, Lockable {
// Door类的成员变量和方法
private boolean isOpen;
public Door() {
isOpen = false;
}
public void open() {
isOpen = true;
System.out.println("Door is open.");
}
public void close() {
isOpen = false;
System.out.println("Door is closed.");
}
// 实现Alarm接口的alarm方法
public void alarm() {
System.out.println("Alarm is ringing!");
}
// 实现Lockable接口的lock和unlock方法
public void lock() {
System.out.println("Door is locked.");
}
public void unlock() {
System.out.println("Door is unlocked.");
}
}
```
这样,我们就可以在Door类中使用alarm方法和lock/unlock方法实现报警和落锁功能了。同时,由于Door类继承了Object类,也可以使用其它基本方法,比如equals和toString等。