我可以看到人们一直在询问是否应该在下一版本的C#或Java中包含多重继承.有幸拥有这种能力的C++人说,这就像给某人一条绳子最终自我吊死.
多重继承有什么问题?有没有具体的样品?
我正在寻找C#中接口的一个非常简单的解释.我一直在问谷歌,但我得到的答案非常技术性和措辞,程序员可能会理解.它几乎听起来像是一个可以调用以执行函数的方法,它允许程序员使用较少的击键.
从我在下面阅读的内容来看,接口是一种创建方法容器的方法,该容器使用不同的技术执行相同的操作.
我想知道它们是什么?他们做什么?我可以用它们做什么?
一IComparable类提供了一个CompareTo比较两个对象并确定它们的顺序,一个方法IEquatable类提供一种Equals用于确定对象是否等于另一个对象方法,IEnumerable类提供一个GetEnumerator返回一个方法IEnumerator,其具有对象MoveNext和Reset用于通过对象的列表移动方法,ICloneable类提供了一个Clone返回对象副本的方法,等等.
为什么我们需要实现这些接口来提供此功能?难道我们不只是定义Equals,GetEnumerator,MoveNext,Reset,和Clone方法,无需实现接口?
我怀疑这与一次使用两个对象有关(例如,用于比较),你需要某种总体类来做这件事,但我无法绕过它.或者接口确实提供了一些额外的功能,否则将无法实现(例如,IDisposable似乎有时是必要的标记)?我希望有人可以解释为什么每个人都实现接口而不是仅仅提供类本身的功能.