【发布时间】:2011-10-14 03:30:35
【问题描述】:
我有一个应该是抽象的类。在其中一个抽象方法中,返回类型可能是 class1、class2 或 class3 的实例,具体取决于实现该方法的类。我想知道我应该如何在抽象类中声明该方法。我考虑过使用动态类型,但我希望将返回类型限制为 3 个类之一,而不是每种类型,此外我不确定我是否可以覆盖它,以便在继承类中返回类型不会匹配抽象类中的返回类型。
如果你能帮我解决这个问题,我会很高兴,
天呐!
【问题讨论】:
-
难道你想要的类似于类集群?更多信息:developer.apple.com/library/mac/#documentation/General/…
-
可能是,但我看不出这如何解决我的问题,因为我的问题仅与特定方法有关,而不与整个班级有关...
-
因为类集群的 init-methods 做一些非常相似的事情——你调用一个 init 方法,类根据内部规则给你一个特定类的实例。但这只是灵感的输入。
标签: objective-c dynamic virtual abstract typing