January 1, 1 | 2 minutes read
Index of content
La pregunta ahora es ¿cuál es el resultado de este programa? ¿Cuál es la cadena impresa para representar X? Lo que se imprime como resultado de llamando al método print_info()? La salida de este código simple es: Sin embargo, si cambiamos el orden de herencia de la clase ‘H’ de (F, G) a (G, F) entonces la salida cambia: Por supuesto, esto se debe a que el orden de búsqueda, retrocediendo a través de la jerarquía de clases, es ahora diferente Tenga en cuenta que este cambio se produjo no debido a una modificación que hicimos en el clase que instanciamos (esa es la clase X), pero por el orden de las clases que uno heredado de sus padres. Esta puede ser una de las consecuencias no deseadas de herencia múltiple; cambiar algo en la jerarquía de clases múltiples a la vez nivel puede romper algún comportamiento más abajo en la jerarquía en una clase que es desconocido para el desarrollador. También tenga en cuenta que el diagrama de herencia de clases que presentamos anteriormente no indicaba en qué orden se enumeraron las clases principales para cualquier clase específica (esto se dejó al discreción del programador). Por supuesto, Python no es ambiguo ni se confunde; es el humano desarrollador que puede confundirse y sorprenderse con el comportamiento que luego se presentado. De hecho, si intenta definir una jerarquía de clases que Python no puede resuelve en una estructura consistente, te lo dirá, por ejemplo: x = x() imprimir (‘imprimir (x):’, x) imprimir(’-’ * 25) x.imprimir_info() imprimir(x): CGFHJX
HCDataGDataFData imprimir(x): CFGHJX
HCDataFDataGData Rastreo (llamadas recientes más última): Archivo “herencia_múltiple_ejemplo.py”, línea 65, en <mo clase Z(H, J): TypeError: no se puede crear una resolución de método consistente orden (MRO) para bases F, G 20.11 Herencia múltiple considerada dañina 227
popular post
January 1, 1
Temas de Pregrado en Ciencias de la Computación Guía avanzada a Python 3 Programación Juan caza
Read MoreJanuary 1, 1
Temas de Pregrado en Ciencias de la Computación Guía avanzada a Python 3 Programación Juan caza
Read MoreJanuary 1, 1
• https://docs.python.org/3/ El sitio principal de documentación de Python 3. Contiene tutoriales, referencias de bibliotecas, guías de configuración e instalación, así como Python cómo-tos • https://docs.
Read More