这不是继承,它不是嵌套类,我不知道它是什么,这就是我带来的原因。
我正在编写一个程序,这是高级功能:
Main()创建一个'A()'类型对象的数组 'A()的构造函数创建20'B()'对象 'B()的costructor创建4'C()'对象
现在'B()'想要使用'A()'的一些公共成员 'C()'想要使用'A()'和'B()'
的一些公共成员换句话说,A是控制记录,B是20个命令的列表,每个命令最多有4个条件。现在C()应该能够验证条件,B()应该能够执行基于C()验证的命令,A()应该知道所有B的完成时间
因此,我们的想法是某些对象会被生成,并且它们应该能够使用创建它们的对象中的成员。我可以在构造函数中传递信息,但这很乏味。有一个很好的设计能够做到这一点。
任何人都可以帮忙吗?
答案 0 :(得分:8)
我可以在构造函数中传递信息,但这很乏味。
这是一种非常有效的具有此行为的方法,也是一种非常常见的模式。繁琐是最小的,特别是如果你干净地设计你的代码。它基本上将一行代码从B bInstance = new B();
更改为B bInstance = new B(this);
等等。
A()应该以某种方式知道所有B的完成时间
我建议使用事件来处理这个问题。 B可以包括每个A订阅的“已完成”事件。这将使它能够确切地知道事情何时完成。