这是此 question 的后续问题.
假设我有一个继承树如下:
Car -> Ford -> Mustang -> MustangGT
为这些类中的每个 定义接口(interface)是否有好处?示例:
ICar -> IFord -> IMustang -> IMustangGT
我可以看到也许其他类(如 Chevy
)想要实现 Icar
或 IFord
甚至可能是 IMustang
,但可能不是 IMustangGT
,因为它非常具体。在这种情况下接口(interface)是否多余?
此外,我认为任何想要实现 IFord
的类都肯定希望通过从 Ford
继承来使用其单一继承,以免重复代码。如果这是给定的,那么同时实现 IFord
有什么好处?
最佳答案
根据我的经验,当您有多个类时,最好使用接口(interface),每个类都需要响应相同的一个或多个方法,以便它们可以被针对这些类的公共(public)接口(interface)编写的其他代码互换使用。接口(interface)的最佳用途是当协议(protocol)很重要但每个类的底层逻辑可能不同时。如果您以其他方式复制逻辑,请考虑使用抽象类或标准类继承。
针对您问题的第一部分,我建议不要为您的每个类创建接口(interface)。这会不必要地扰乱您的类结构。如果您发现需要一个接口(interface),您可以随时添加它。希望这对您有所帮助!
亚当
关于oop - 继承和接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/268698/