C# 为什么不';t接口的行为类似于类?
我有几个关于接口的问题C# 为什么不';t接口的行为类似于类?,c#,oop,c#-4.0,interface,c#-3.0,C#,Oop,C# 4.0,Interface,C# 3.0,我有几个关于接口的问题 为什么我们不能对接口成员使用virtual关键字 为什么不能在接口的派生类中使用override关键字 假设 interface Iface { void Func(); } class Program : Iface { static void Main(string[] args) { } public void Func() { Console.WriteLine("In func"); }
interface Iface
{
void Func();
}
class Program : Iface
{
static void Main(string[] args)
{
}
public void Func()
{
Console.WriteLine("In func");
}
}
为什么我需要在接口的派生类中,即在Func()定义中,对成员函数使用public?如果我没有使用public关键字,它将导致编译时错误虚拟的
程序
才能调用Func
。也没有静态接口的概念虚拟的
程序
才能调用Func
。也没有静态接口的概念接口的行为不像类,因为我们不能创建接口的对象如果我们可以创建接口的对象来实现多重继承,那么我们可能会面临在类多重继承的情况下出现的菱形问题。接口的行为不像类,因为,我们无法创建接口对象如果我们可以创建接口对象以实现多重继承,那么我们将面临类多重继承时出现的菱形问题。我已修复了OP问题中不可靠的编号列表-请重新考虑您自己的编号以匹配。=)我已经修复了OP问题中不可靠的编号列表-请重新考虑您自己的编号以匹配。=)