C# 实现接口的具体类是否需要严格遵循接口定义?(没有额外的属性和方法)

C# 实现接口的具体类是否需要严格遵循接口定义?(没有额外的属性和方法),c#,.net,C#,.net,具体类是否可以遵循接口定义,但也可以稍微改变(例如添加额外的属性或方法) 是的,如果它不能改变的话,它会和原来的一样 接口定义了类的预期部分,以便可以执行常见操作。只要你遇到了这些人,你就可以做任何你想做的事。是的。非常感谢。接口表示它至少实现了给定的一组行为,但没有什么可以阻止它做更多的事情。当然,你应该始终记住,课堂不应该做太多的事情 一个很好的例子是IComparable接口()。它只有一个方法:CompareTo。很明显,一个只有这个的对象是没有意义的。相反,此接口按照tin上的说明进行

具体类是否可以遵循接口定义,但也可以稍微改变(例如添加额外的属性或方法)

是的,如果它不能改变的话,它会和原来的一样


接口定义了类的预期部分,以便可以执行常见操作。只要你遇到了这些人,你就可以做任何你想做的事。

是的。非常感谢。接口表示它至少实现了给定的一组行为,但没有什么可以阻止它做更多的事情。当然,你应该始终记住,课堂不应该做太多的事情


一个很好的例子是
IComparable
接口()。它只有一个方法:
CompareTo
。很明显,一个只有这个的对象是没有意义的。相反,此接口按照tin上的说明进行操作,并标记您可以比较该类型的对象。

+1我将添加
IClonable
作为示例。如果类没有任何方法或属性,而只有
clone
,那么调用clone有什么意义呢p@SriramSakthivel:这是另一个很好的例子。现在我想知道,如果没有任何额外的属性或方法,哪一个更无用但是我在某个地方读到,如果类做的比接口定义的多,那么可能是您使用了错误的接口定义,或者没有正确实现接口。@erotavlas:我认为“maybe”是这里显而易见的关键字。接口有很多不同的使用方式。有时您有一个接口来允许类之间的公共功能,有时它们可以纯粹用作标记,有时它们只是另一个对象的抽象,通过对接口进行编码来简化测试和其他事情。如果我们谈论的是一般的接口,那么肯定有一些时候,接口上的内容比接口上的内容更多是有意义的。有些接口很可能被设计成不再公开。