Что означает "глубина наследования" для методов?

Я только что установил инструмент Visual Studio Power Tool для анализа кода и для просмотра результатов. Отличные инструменты, кстати!

Когда я нажимаю "Анализ решения", я получаю результаты:

  • ремонтопригодность
  • Цикломатическая сложность
  • Глубина наследования
  • Сочетание классов
  • Линии кода

Я понимаю, что все это значит, за исключением того, что для каждого метода в классе существуют разные значения "глубина наследования", а для класса - более.

Есть ли у кого-нибудь объяснение, что это может сказать?

Ответ 1

Поскольку каждый производный класс расширяет предыдущий класс, он добавляет дополнительные функции. Он может добавлять свойства или методы, которых не было в предыдущем базовом классе. Теперь общий набор методов больше, чем для базового класса. Этот процесс можно повторить, когда производный класс будет получен снова.

Итак, если вы берете наиболее производный класс и выбираете метод A и следуете ему до базового класса, который впервые реализовал A, он может быть другим более глубоким классом, чем если бы вы выберите метод B и выполните его до первого базового класса, который реализовал B. Вот почему глубина наследования может быть различной для разных методов.

Если вы возьмете сам класс, у него есть четкая серия базовых классов и четкая глубина, независимая от глубины методов, которые всегда одинаковы или меньше самого класса.