【问题标题】:Usage of multiple inheritance via interface通过接口使用多重继承
【发布时间】:2013-01-27 02:02:02
【问题描述】:

总是说使用接口我们可以在.NET中实现多重继承。

在发布这个问题时,我也去了这个 Are interfaces redundant with multiple inheritance?.

到目前为止,在我的开发经验中,我还没有使用接口来实现多重继承,或者没有出现这种需求。

现在我的问题是,在 .NET 框架或 .NET 世界中是否有任何流行的库中的多重继承示例。

谢谢

【问题讨论】:

    标签: .net oop design-patterns


    【解决方案1】:

    总是说使用接口我们可以在.NET中实现多重继承。

    这实际上是不正确的。 .NET 中没有真正的多重继承。接口只是提供了一种机制来实现许多与多重继承相同的目标,而导致问题的极端情况要少得多。

    现在我的问题是,在 .NET 框架或 .NET 世界中是否有任何流行的库中的多重继承示例。

    再说一遍 - .NET 中没有多重继承。但是,整个框架都使用接口来提供重用,而不必指定固定的基本类型。 LINQ 就是一个很好的例子 - LINQ 提供的几乎所有功能都适用于接口,这允许该功能跨多种类型工作,而无需多重继承。

    【讨论】:

    • 你不是说“不”是真的吗?
    【解决方案2】:
    class MyBaseClass:IEnumerable,IQueryable
    

    正如您已经知道的那样,以上是通过接口实现的 c# 中多重继承的主要示例之一。

    StackOverflow 为像你这样严肃的程序员大量讨论了这个话题。

    【讨论】:

      猜你喜欢
      • 2011-10-07
      • 2019-03-06
      • 2021-06-23
      • 1970-01-01
      • 2017-03-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多