【发布时间】:2016-03-08 04:08:47
【问题描述】:
我有一个名为 Passenger 的子类,它是从 Person 类扩展而来的。我想让乘客类成为一个可观察的对象。所以我是这样做的,
class Person extends Observable{
}
class Passenger extends Person{
public void move(){
setChanged();
notifyObservers();
}
}
class Manager implements Observer{
@Override
public void update(Observable o, Object arg) {
}
}
当我不需要该类的可观察功能时,将 Person 类设为 Observable 是一种不好的做法吗?如果是这样,我该如何更改?
【问题讨论】:
-
如果您需要从 Person 扩展乘客,则没有其他方法可以实现您正在做的事情;)
-
如果你想“让Passenger类成为一个可观察的对象”,为什么不让
Passenger扩展Observable呢? -
因为它需要扩展人
-
我同意 TangledUpInBlue(答案如下)。将 Person 设置为接口似乎是合理的。然后你可以制作两个抽象类; BasePerson 和 BaseObservablePerson 根据需要进行扩展。
标签: java observer-pattern