10

我剛剛安裝了Visual Studio Power Tool for code analysisthe viewer for the results。順便說一下,偉大的工具!「繼承深度」對於方法意味着什麼?

當我點擊 「分析解決方案」 我得到的結果:

  • 可維護性
  • 圈複雜度
  • 繼承
  • 類耦合典
深度

我明白這些都是什麼意思,之外,對於類中的每個方法都存在不同的「繼承深度」值,對於類有更大的值。

有沒有人有解釋這可能是什麼意思?

回答

5

由於每一個派生類繼承了以前的類,它增加了額外的功能。它可以添加以前的基類中不存在的屬性或方法。現在整套方法比基礎類更大。當派生類再次派生時,可以重複此過程。

所以,如果你採取最派生類,並選擇一個方法A,並按照下來的基類,第一實施A,它可能比你挑選方法B不同更深類,並按照它歸結爲第一個基類實施了B。這就是爲什麼不同方法的繼承深度可能不同。

如果你自己拿這個類,它有一系列明確的基類和一個明確的深度,與方法的深度無關,它們總是相同或者更少的類本身。

+0

謝謝,裏克!這就是我的想法,但在我看到的例子中,我並不清楚。 – 2011-05-19 11:45:49

3

這裏是一個很好的解釋繼承深度(帶照片!):

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

+0

該鏈接沒有討論方法的繼承深度,這就是問題所在。 – 2011-05-18 23:57:13

+2

除了裏克所說的話,如果我也可以提出一個建議。使用鏈接來幫助回答這個問題非常好。但是,如果鏈接消失(因爲鏈接傾向於在互聯網上進行),我們不知道它說的是什麼。相反,拉出鏈接的相關點並在你的答案中引用它們。這樣,每個人都可以得到答案,並將問題存儲起來,如果人們需要更多深度,他們可以直接進入鏈接。 – JasCav 2011-05-19 00:22:24

+0

這是一個偉大的圖片!我的確瞭解繼承的深度。我在哪裏脫落的是它在同一班上的不同價值觀。 – 2011-05-19 11:47:45