C# 中何时使用抽象类、何时使用接口
Possible Duplicates:
Abstract classes vs Interfaces
Interface vs Base class
Hi,
In C# when should we use interfaces and when should we use abstract classes?
Please explain with example
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
抽象类,如果你想实现基本功能和一些必须由实现者覆盖的属性/方法:
接口,如果你想定义一个类必须包含哪些属性/方法,而不实现任何功能:
Abstract class, if you want to implement basic functionality and some properties/methods that must be overwritten by the implementer:
Interface, if you want to define, which properties/methods a class must contain, without implementing any functionality:
当您描述契约和抽象类时,当您实现将在派生类之间共享的功能时,请使用接口。
使用示例可以是模板模式和策略模式
use interfaces when you don't when your describing a contract and abstract classes when your implmenting functionality that will be shared among deriving classes.
To examples of usage could be template pattern and Strategy pattern