我们为什么要实现,例如ICloneable或IDisposable.我不是在问ICloneable或IDisposable是做什么的,但我想知道实现这些接口的理由是什么,而不仅仅是编写一个处理或克隆对象的方法?
pho*_*bus 20
使用接口可以保持这些功能的使用一致.这样,当另一个类想要/需要使用您的类时,它可以作为可克隆的一次性对象对其进行操作,而不必担心您的特定实现细节.
因为您可能希望相同的代码对不同类的实例进行操作.例如,表单清理例程想要遍历所有组件并处理它们.为了实现这一点,它需要通过类型引用组件:公共基类或接口.单继承意味着公共基类并不总是可行的(假设我的表单同时具有FileStream和Button - 它们可以具有哪些公共基类,清理例程将通过它来访问它们?); 因此接口.