Q
从子类中调用方法
1
A
回答
4
答案取决于什么呼叫的语义;你的例子是模糊的,并没有明显的语义来推理,所以不可能给出一个好的答案。
为主提供服务给孩子?举例来说,就是孩子想上主像“给我拿谁被授权做嗒嗒用户列表”或“加起来所有应收十一月账户”做电话吗?
或者是主要反应与儿童assocaited事件?例如,Child可能是一个按钮,Main是一个窗体,Main会希望在点击按钮时作出反应。
在前一种情况下,Main应该向实现所需服务的Child提供一个对象 - 可能本身。该对象可能是Main本身,也可能是方法或接口的委托,但它是Child在需要服务时可以调用的东西。
在后一种情况下,主要应听取儿童引发的事件。
这是正确的取决于含义的对象;你能更清楚地描述意思吗?
3
三项赛是适当的图案。关于对象/类层次结构中围绕信息流的概念原因,请参阅this answer。
更深部件简称为“释放”他们的信息 - 通常是通过一个事件 - 它“浮”链向上而不直接调用
7
简单的解决方案将是,以一个实例提供于Main
参考Child
类:
public class Child
{
private Main main;
public Child(Main main)
{
this.main = main;
main.Bar();
}
}
public class Main
{
public void Foo()
{
Child c = new Child(this);
}
public void Bar()
{
}
}
这可以通过抽象掉一个IMain
接口后面Main
类,以便最小化耦合来进一步提高。
但最好的解决方法是将利用事件冒泡
相关问题
- 1. 从子类调用ViewController中的方法
- 2. 从超类调用子类方法
- 3. Actionscript:从子类调用超类方法
- 4. 从子类中的重载方法调用基类方法
- 5. 如何从超类方法中调用python子类的方法?
- 6. 为什么从基类调用方法调用子方法?
- 7. 从类中调用方法
- 8. 方法ViewDidLoad不从子类调用?
- 9. 从子类调用父方法
- 10. 从父项调用子类方法
- 11. 从UIImageview的子类调用方法
- 12. 如何从子类中的覆盖方法调用父方法
- 13. 从子类工厂方法PHP调用超类工厂方法
- 14. 从超类方法调用子类方法?
- 15. 从基类方法调用子类虚拟方法
- 16. 如何从超类方法调用子类的方法?
- 17. 调用子类的方法
- 18. 调用子类的方法
- 19. Java调用子类方法
- 20. UIViewController子类调用方法
- 21. 调用子类的方法
- 22. 调用超类方法后调用子类方法
- 23. Ruby中的子类方法在父类中调用方法
- 24. 如何从超类的对象中调用子类的方法?
- 25. 如何从子类中的超类方法调用?
- 26. 从超类的向量中调用子类方法C++
- 27. 从基类对象列表中调用子类的方法?
- 28. 从Java子类中调用的方法不是在父类
- 29. 应该从python中的子类调用__exit__超类方法
- 30. 调用父类中的方法从子类 - 的JavaScript
主要是的MainPage,一个用户的控制。孩子是代表场景中的物体的类。我想调用一个Main的子方法,它改变了一些MainPage参数。该调用取决于用户交互 – jose 2010-01-27 16:35:09