When to use Interface and when to use Abstract class
本问题已经有最佳答案,请猛点这里访问。
各位可以给我解释一下在什么情况下我应该使用接口,在什么情况下我应该更喜欢抽象类…?请记住,我不是在问接口和抽象类之间的区别。
如果发现任何是对象之间的关系,可以使用
当然,谷歌也有很多不同之处。
我建议遵守以下规则:
- 仅在需要
code-reuse 时使用抽象类 - 限制对定义抽象类的包的可见性
否则,请使用接口和委托。但是,正如软件设计一样,您必须针对每个具体情况做出正确的决定。如果您有必须应用但需要一些灵活性的限制/规则,那么考虑使用策略模式而不是继承。
抽象类的问题是不能从多个类继承。因此,如果您需要一个类型,其中
使用
当:没有通用功能时,使用
我们必须先推断。如果我们必须在那个类中编写一些通用的功能,那么只有这样,您才能使用抽象类。否则使用接口。因为我们可以实现接口的数量,但是我们只能扩展一个类,所以将来您必须使用接口而不是抽象类。