Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么可以';你不能在c#中进行多重继承吗?_C#_.net - Fatal编程技术网

为什么可以';你不能在c#中进行多重继承吗?

为什么可以';你不能在c#中进行多重继承吗?,c#,.net,C#,.net,可能重复: 为什么c不支持多重继承 public partial class Child: Parent1 { void MakeParent1Mad(); } public partial class Child: Parent2 { void MakeParent2Mad(); } .NET旨在支持 多种语言,但不是所有语言 语言可以有效地支持 多重继承。或者技术上 他们可以,但复杂性增加了 在语言中,语义学会产生一些影响 这些语言中有哪些更难理解 使用(和它们的根不太相

可能重复:

为什么c不支持多重继承

public partial class Child: Parent1 
{
  void MakeParent1Mad();
}

public partial class Child: Parent2
{
  void MakeParent2Mad();
}

  • .NET旨在支持 多种语言,但不是所有语言 语言可以有效地支持 多重继承。或者技术上 他们可以,但复杂性增加了 在语言中,语义学会产生一些影响 这些语言中有哪些更难理解 使用(和它们的根不太相似, 像VB一样,用于向后 兼容性原因)和不值得 能够重用的权衡 以多种方式编码 继承权
  • 这也会使 跨语言库 互操作性(通过CLS合规性) 比今天更不现实, 哪一个是最引人注目的 NET的功能。有50多个 在.NET上支持的70多种语言 今天的实现
  • 最 可见的因素是语言语义 复杂性。在C++中,我们需要添加 明确的语言特征,以便 地址歧义(例如 经典钻石问题)由 多重继承,例如 “virtual”关键字以支持虚拟 继承来帮助编译器 解析继承路径(我们有 (也要正确使用它)
  • 如我们所知 20%的时间编写代码,但是 阅读80%的时间。因此主张 在简单性方面,我不喜欢添加 语言特征是为了 保持语义简单。在里面 比较C#代码显著 比C++代码更容易阅读, 可以说写起来更容易
看见