做网页赚钱的网站,建设厅职业资格中心网站,wordpress登陆ip唯一,微信的企业网站模板翻译自 John Demetriou 2018年4月8日 的文章 《Multiple Inheritance And The Diamond Problem》[1]开篇之前#xff0c;我假设每个人都知道在面向对象编程中继承是什么#xff0c;以及它能提供什么好处。我不会深入探究对象继承的基础知识。这篇文章更关注于多重继承和它所面… 翻译自 John Demetriou 2018年4月8日 的文章 《Multiple Inheritance And The Diamond Problem》[1]开篇之前我假设每个人都知道在面向对象编程中继承是什么以及它能提供什么好处。我不会深入探究对象继承的基础知识。这篇文章更关注于多重继承和它所面临的问题。确实如此多重继承的一个大问题就是菱形问题。你可能会问为什么想象一下继承的分布如下上面的图显示D 继承自 B 和 C而 B 和 C 继承自 A。现在假设 A 是一个抽象类菱形问题的存在不必是抽象类但它使问题更明显并且包含一个名为 Jump() 的公共抽象方法public abstract Jump()。B 和 C 都需要以自己特定的方式实现该方法。然后 D 继承自这两个类当有人在 D 上调用 Jump() 时会发生什么调用 Jump() 的哪一个实现是不明确的就是由于这个原因Java 和 C# 都不允许多重继承。不过它们允许多接口继承并且 C# 的一个新特性将接口与多继承问题联系起来[2]。我们将在明天下一篇中讨论这一特性。相关链接http://www.devsanon.com/language-agnostic/multiple-inheritance-and-the-diamond-problem/ Multiple Inheritance And The Diamond Problem ↩︎https://ittranslator.cn/dotnet/csharp/2020/10/19/c-8-default-interface-methods.html C# 8: 默认接口方法 ↩︎作者 John Demetriou 译者 技术译民出品 技术译站https://ITTranslator.cn/END