Интересно, почему передача двухуровневого объекта Command
из класса parent-child не будет работать.
Примерно так (класс A является родительским для B, а B является родительским для C):
Class A (Creates the instance of the Command object that is passed down to B)
+-- Class B ( Pass down the object to C)
+------- Class C ( Callsthe execute() method of the Command object)
Принимая во внимание, когда экземпляр объекта Command создается в классе B и передается вниздля класса C это работает нормально.
Пример:
РЕДАКТИРОВАТЬ:
Пример (рукописный код):
public class A {
private Command command;
private B b;
public A() {
b = new B();
command = new Command() {
public void execute() {
// Do something
}
}
b.setCommand(command);
}
public class B {
private Command command;
private C c;
public B() {
c = new C();
c.setCommand(this.command);
}
public void setCommand(Command command){
this.command = command;
}
}
public class C {
private Command command;
public C() {
}
public void doStuff() {
command.execute();
}
public void setCommand(Command command){
this.command = command;
}
}