我有一个根类和子类的数量。 我还有一个DataManager类,它应该在各种类别中保存静态方法,这些方法对这个根类的特定子进行操作。
对于根类R来说,Child类是C1& C2。
对于C1,我有一个名为DataManager + C1的类别 对于C2,我有一个名为DataManager + C2的类别。
我有一个基础DataManager类,我有声明这个方法 - 从任何地方访问它 - 并且没有其他声明:
//DataManager.h
+ (NSDictionary *) Method1 : (DataModelRoot*) R;
//Note that R is my root class. Individual class implementations belong to DataManager+C1.m, DataManager+C2.m etc.
Method1的实现在于DataManager + C1以及DataManager + C2。
但我没有看到多态行为。
也就是说,当期望调用DataManager + C2的Method1时,调用DataManager + C1中的一个,尽管调用本身是从DataManager + C2源文件启动的。 (调用者可以是任何DataManager类别 - 这是一种极端情况)。
位于同一类层次结构中的对象上的类别数如何解析函数调用?
PS: 再次注意,上面的方法Method1只在一个类(普通DataManager.h)的.h文件中显示,并以root类为参数。我假设这将确保使用子对象类型进行适当的调用,但它失败了。