网上看到一个门和报警器的例子:定义了一个报警器的接口,但是Alarm方法是抽象的啊?不同的类实现了它,每个类岂不是也要自己重新写方法体?比如A型门是哔哔的报警,B型门是嗷嗷的报警,C型也是哔哔的报警,但是又有别的更多的功能;每次要自己重写方法体还是很麻烦啊,那接口易于维护的优点到底体现在哪里啊?有什么办法直接让一个类带上本身就写好的方法体,从而提高扩展性么?比如让一个门直接哔哔的报警?
interface Alram {
void alarm();
}
abstract class Door {
void open();
void close();
}
class AlarmDoor extends Door implements Alarm {
void oepn() {
//....
}
void close() {
//....
}
void alarm() {
//....
}
}
|
|