我被问到一个问题。它是以下内容:
抽象类的API文档会告诉您是否有方法 是抽象的。你何时以及为什么需要知道这个?
任何帮助都将不胜感激。
答案 0 :(得分:9)
您需要知道哪些方法是抽象的,因为在继承类时需要为这些方法提供实现。
答案 1 :(得分:2)
作为Fredrik答案的扩展,它还指定了要更改的行为。
您通常可以覆盖一个方法(如果该方法不是最终的,并且该类不是最终的),但实际上,如果该类不是专门为变更设计的,那么这可能非常棘手。可能是现有方法假设您覆盖的方法的某种行为,未指定(它发生)并且您没有提供。
通过明确声明一个方法是抽象的,你表达了该方法将由其他人实现的意图。它通常也意味着抽象方法的文档在预期行为方面更为完整。
答案 2 :(得分:0)
如果你调用抽象方法,你需要考虑实际的实现在其他地方,并且行为可能有一些变化。
答案 3 :(得分:0)
你知道这个方法是否是抽象的,因为在这种情况下你必须在你的具体(继承)类中实现它。
我建议你看一下关于设计模式的以下书籍,因为他们提到这些东西并且也有实践: