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