Design patterns javaapi的观察者模式:扩展时的主题
在用于观察者模式的Java内置API中,我们必须扩展可观察类以成为\实现“主题”。我想知道我是否扩展了实现“Observable”的类,该类是否也将成为“Subject\Observable”,如果是,它是否会从父级继承所有观察者 例:A类扩展了可观察性 B类扩展了A类Design patterns javaapi的观察者模式:扩展时的主题,design-patterns,observer-pattern,java,Design Patterns,Observer Pattern,Java,在用于观察者模式的Java内置API中,我们必须扩展可观察类以成为\实现“主题”。我想知道我是否扩展了实现“Observable”的类,该类是否也将成为“Subject\Observable”,如果是,它是否会从父级继承所有观察者 例:A类扩展了可观察性 B类扩展了A类 那么B也是可观察的/主体?是的,你是绝对正确的。 如果A类扩展了可观察的,B类扩展了A,那么B类确实是可观察的。 您应该能够使用下面的示例测试代码来测试这一点 import java.util.Observable; impo
那么B也是可观察的/主体?是的,你是绝对正确的。 如果A类扩展了可观察的,B类扩展了A,那么B类确实是可观察的。 您应该能够使用下面的示例测试代码来测试这一点
import java.util.Observable;
import java.util.Observer;
public class TestObserve extends Object {
MyView view;
TestObservableA testObservableA;
TestObservableB testObservableB;
public TestObserve() {
view = new MyView();
testObservableA = new TestObservableA();
testObservableA.addObserver(view);
testObservableB = new TestObservableB();
testObservableB.addObserver(view);
}
public static void main(String[] av) {
TestObserve testObserve = new TestObserve();
testObserve.testExtend();
}
public void testExtend() {
testObservableA.changeSomething();
testObservableB.changeSomething();
}
class MyView implements Observer {
public void update(Observable observable, Object x) {
System.out.println("Test Update(" + observable + "," + x + ");");
}
}
class TestObservableA extends Observable {
public void changeSomething() {
setChanged();
notifyObservers();
}
}
class TestObservableB extends TestObservableA {
public void changeSomething() {
setChanged();
notifyObservers();
}
}
}
为什么不尝试扩展它,看看调试器中会发生什么?您希望发生什么?你问之前试过吗?我讨厌使用向下投票箭头,但是你的帖子没有显示你在提问之前已经试过了。嗯……我没有现成的代码可以测试。。正在阅读相关内容,想知道是否有人这样做。堆栈溢出不应该是第一个调用端口。如果有什么问题的话,那应该是在你用尽所有其他方法回答问题后的最后一次机会谢谢!!我只需要知道这些。