接口可以替代C#中的多重继承吗?
的副本 重复答案 0 :(得分:2)
多重继承意味着您从多个基类继承功能。由于接口定义了接口而不是实现,因此答案是否定的。
答案 1 :(得分:1)
在某种程度上,是的。继承提供的经典“is-a”关系可以通过使用接口来扩展。意思是,如果一个类继承自另一个类并实现3个接口,则可以将此类的对象传递给一个方法,该方法将基类或三个接口中的任何一个作为参数。因此,从某种意义上说,这个类是“4个不同的东西之一”。有意义吗?
答案 2 :(得分:0)
从概念上讲,接口可以允许您与其他类别的类具有多个is-a关系。这是使用多重继承的部分原因。
例如,
public class TradeReport : IReport, ITrade, IComplianceRecord
如果上面的类有意义地实现了所有三个接口的方法,您可以使用它来描述报告,交易和合规记录。
但是,这是极限。接口中没有实现继承。