可能重复:
Interface vs Base class
Abstract classes vs Interfaces
我们如何决定何时必须使用Interface和Abstract Class .. ??
任何想法.. ??
提前感谢!
答案 0 :(得分:3)
您想提供方法的共享实现吗?
使用抽象类。
您是否只想提供一个合同,指明对象必须提供哪些外部功能?
使用界面。
答案 1 :(得分:2)
我的经验法则是:当存在共享代码时使用抽象类,否则使用接口。
答案 2 :(得分:0)
如果您打算使用相同的部分方法和属性实现,那么使用抽象类,如果您只想在所有类中保留相同的成员,但是对所有类都有不同的实现,那么使用interface。 / p>
换句话说,如果某些派生类方法在每个派生类中应该是相同的,请使用interface,否则使用interface。
答案 3 :(得分:0)
看看这篇有趣的文章,它将帮助您理解CodeProject上的接口和抽象类之间的差异。