Что означает "глубина наследования" для методов?
Я только что установил Visual Studio Power Tool для анализа кода и средство просмотра результатов. Отличные инструменты, кстати!
когда я нажимаю "анализировать решение" я получаю результаты:
- ремонтопригодность
- Цикломатическая Сложность
- глубина наследования
- Муфта Класс
- строк кода
Я понимаю, что все это значит, за исключением что существуют разные значения "глубины наследования" для каждого метода в классе и большего для класса.
есть ли у кого-нибудь объяснение того, что это может сказать?
2 ответов
поскольку каждый производный класс расширяет предыдущий класс, он добавляет дополнительные функции. Он может добавлять свойства или методы, которые не существовали в предыдущем базовом классе. Сейчас общий набор методов больше, чем для базового класса. Этот процесс можно повторить, когда производный класс является производным от снова.
Итак, если вы берете самый производный класс и выбираете метод A
и следуйте за ним до базового класса, который впервые реализовал A
, Это может быть разные глубокий класс, чем если вы выбираете способ B
и следуйте за ним до первого базового класса, который реализовал B
. Вот почему глубина наследования может быть разной для разных методов.
если вы возьмете сам класс, он имеет четкий ряд базовых классов и четкую глубину, независимую от глубины методов, которые всегда одинаковы или меньше самого класса.
вот отличное объяснение (с картинками!) глубины наследования:
http://www.nayyeri.net/depth-of-inheritance-for-wpf-and-windows-forms-applications