我想知道为什么传递一个父级子类的两级对象Command
不起作用。为什么传递一个Command对象不起作用?
这样的(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)
然而,当在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;
}
}
目前尚不清楚你的图是什么意思 - 显示的代码将使其更加清晰,最好是在一个简短而完整的例子,只要是可行的。 – 2012-01-08 09:18:30
A类是B的父亲,B是C的父母。 – xybrek 2012-01-08 09:19:32
你能澄清一下“不起作用”是什么意思吗?当你执行它时会发生什么?请注意,这里没有涉及继承,与此处“父母 - 孩子”的含义相反。 – 2012-01-08 09:32:44