0
为什么多类继承钻石问题和多接口继承不成问题?为什么多个类继承钻石问题和多接口继承没有?
为什么多类继承钻石问题和多接口继承不成问题?为什么多个类继承钻石问题和多接口继承没有?
因为在多个类继承中,您可能会继承相同签名的两个冲突实现。
class Base1
{
public void Foo()
{
Console.WriteLine("Base1");
}
}
class Base2
{
public void Foo()
{
Console.WriteLine("Base2");
}
}
class Drived : Base1, Base2
{
}
那么,Drived
应该导出哪个实现呢?
钻石问题只是上述的具体情况。
现在,接口不执行任何东西 - 所以不能有任何冲突的实施,并在C#中,你可以给不同的实现方式,为每个接口,即使他们有相同的方法的签名,与explicit interface implementation