4

我被问了一个问题。如下:

抽象类的 API 文档告诉您方法是否是抽象的。您何时以及为什么需要知道这一点?

任何帮助,将不胜感激。

4

4 回答 4

9

您需要知道哪些方法是抽象的,因为在继承类时需要为这些方法提供实现。

于 2011-05-13T09:28:02.117 回答
2

作为 Fredrik 答案的扩展,它还指定了要更改的行为。

您通常可以覆盖一个方法(如果该方法不是最终的并且类不是最终的),但实际上,如果该类不是专门为更改而设计的,那么这可能会非常棘手。可能是现有方法假定您覆盖的方法的某种行为,这种行为没有指定(它发生)并且您没有提供。

通过明确声明一个方法是抽象的,你表达了该方法将由其他人实现的意图。这通常也意味着抽象方法的文档在预期行为方面更加完整。

于 2011-05-13T09:36:37.210 回答
0

如果您调用抽象方法,您需要考虑到实际实现在其他地方并且可能在行为上有一些变化。

于 2011-05-13T09:35:51.603 回答
0

您知道该方法是否是抽象的,因为在这种情况下,您必须在具体(继承)类中实现它。

我建议你看看以下关于设计模式的书籍,因为它们提到了这些东西并且也有实践:

http://oreilly.com/catalog/9780596007126

于 2011-05-13T09:52:11.647 回答