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

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

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

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

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

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

2 ответов


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

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

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


вот отличное объяснение (с картинками!) глубины наследования:

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