10

Acabo de instalar Visual Studio Power Tool for code analysis y the viewer for the results. ¡Excelentes herramientas, por cierto!¿Qué significa "profundidad de herencia" para los métodos?

Al hacer clic en "Analizar Solución" consigo los resultados:

  • mantenibilidad
  • Ciclomática Complejidad
  • Profundidad de Herencia
  • Clase acoplamiento
  • líneas de código

Entiendo lo que significa todo esto, excepto que hay diferentes valores de "profundidad de herencia" para cada método en una clase, y uno más grande para la clase.

¿Alguien tiene una explicación de lo que esto podría estar diciendo?

Respuesta

5

A medida que cada clase derivada se extiende la clase anterior, se añade una funcionalidad adicional. Puede agregar propiedades o métodos que no existían en la clase base anterior. Ahora el conjunto total de métodos es más grande que para la clase base. Este proceso puede repetirse cuando la clase derivada se deriva de nuevo.

Así que si usted toma la clase más derivada y elegir un método A y seguirlo hasta la clase base que implementó por primera vez A, que podría ser un más profundo clase diferente que si tienes que elegir el método B y seguirlo hasta la primera clase base que implementó B. Esta es la razón por la cual la profundidad de la herencia puede ser diferente para diferentes métodos.

Si toma la clase en sí, tiene una serie clara de clases base y una clara profundidad propia, independientemente de la profundidad de los métodos, que siempre son iguales o menos que la clase misma.

+0

Gracias ¡Rick! Eso es lo que estaba pensando, pero no estaba claro para mí en el ejemplo que estaba viendo. –

3

Aquí es una gran explicación de la profundidad de Herencia (con fotos!):

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

+0

Ese enlace no analiza la profundidad de la herencia de los métodos, que es la pregunta. –

+2

Además de lo que Rick dijo, si también pudiera hacer una sugerencia. Usar un enlace para ayudar a responder la pregunta es genial. Pero, si el enlace desaparece (como los enlaces tienden a hacer en Internet), no tenemos conocimiento de lo que dice. En su lugar, saque los puntos pertinentes del enlace y citarlos dentro de su respuesta. De esta forma, todos pueden obtener una respuesta, se almacena con la pregunta, y si la gente quiere más profundidad, pueden ir directamente al enlace. – JasCav

+0

¡Es una gran foto! Entiendo la profundidad de la herencia. Donde me estaba despegando fue los diferentes valores de la misma en los métodos de la misma clase. –

Cuestiones relacionadas