我何时应该使用接口,何时应该使用基类?
如果我不想实际定义方法的基本实现,它应该始终是一个接口吗?
如果我有狗和猫类.为什么我要实现IPet而不是PetBase?我可以理解有ISheds或IBarks(IMakesNoise?)的接口,因为那些可以基于宠物放在宠物上,但我不明白哪个用于通用Pet.
这可能是一个通用的OOP问题.我想根据它们的用法在接口和抽象类之间进行一般性比较.
什么时候想要使用接口?何时想要使用抽象类?
大家好,
我只是在思考抽象类和接口,我知道它们在技术上是如何工作的,但我不了解抽象类和接口的实际用途.我的意思是,当我们知道无法创建它的对象时,为什么我们应该使用抽象类,我们不得不扩展这个类来使用它,所以为什么我们不把所有东西都放在派生类中.
接口也是如此,我们必须实现接口,所以为什么我们不把接口中定义的所有方法都放在我们实现接口的类中.
有人可以用一些例子清楚我的怀疑吗?
所以抽象类可以扩展,但任何类都可以吗?那么为什么一些特定的类抽象而另一些不呢?
此外,我试图弄清楚,但我总是相当困惑,但接口和抽象类之间的实际区别是什么?
感谢任何能为我解决这个问题的人!