【问题标题】:What does "Depth of Inheritance" mean for methods?“继承深度”对方法意味着什么?
【发布时间】:2011-08-28 10:39:15
【问题描述】:

我刚刚安装了Visual Studio Power Tool for code analysisthe viewer for the results。顺便说一句,很棒的工具!

当我点击“分析解决方案”时,我得到了结果:

  • 可维护性
  • 圈复杂度
  • 继承深度
  • 类耦合
  • 代码行

我明白这些都是什么意思,除了类中的每个方法都有不同的“继承深度”值,而类的值更大。

有人能解释一下这可能是什么意思吗?

【问题讨论】:

    标签: c# visual-studio-2010 code-metrics visual-studio-power-tools


    【解决方案1】:

    这里有一个很好的解释(带图片!)继承深度:

    http://www.nayyeri.net/depth-of-inheritance-for-wpf-and-windows-forms-applications

    【讨论】:

    • 该链接没有讨论方法的继承深度,这就是问题所在。
    • 除了瑞克说的,如果我也可以提个建议。使用链接来帮助回答问题非常棒。但是,如果链接消失了(就像链接在互联网上经常发生的那样),我们不知道它说了什么。相反,请提取链接的相关点并在您的答案中引用它们。这样,每个人都可以获得答案,它与问题一起存储,如果人们想要更深入,他们可以直接访问链接。
    • 这张照片很棒!我确实了解继承的深度。我要解决的问题是它在同一类的方法上的不同值。
    • @trante 感谢您的提醒。我发现似乎是那个帖子被移动的地方。我保留了原始链接,因为您可以在 archive.org 上查找它,但我在帖子中添加了新链接。再次感谢。
    • 更新的链接现在已经消失了。 Archive.org version here
    【解决方案2】:

    由于每个派生类都扩展了前一个类,它增加了额外的功能。它可以添加以前基类中不存在的属性或方法。现在总的方法集比基类的要大。当派生类再次派生时,可以重复此过程。

    因此,如果您采用最派生的类并选择一个方法 A,然后将其向下跟踪到第一个实现 A 的基类,那么它可能是一个不同的 更深 类,而不是您选择方法B 并跟随它到实现B 的第一个基类。这就是为什么不同方法的继承深度可能不同的原因。

    如果你拿类本身来说,它有一系列明确的基类和明确的深度,独立于方法的深度,它们总是与类本身相同或更少。

    【讨论】:

    • 谢谢,瑞克!这就是我的想法,但在我正在查看的示例中我并不清楚。
    猜你喜欢
    • 2021-03-01
    • 2014-02-23
    • 2011-06-28
    • 1970-01-01
    • 2013-04-11
    • 1970-01-01
    • 2015-02-12
    • 1970-01-01
    • 2011-12-28
    相关资源
    最近更新 更多