Cargando

  • 2 Min To Read
  • 01 Jan, 0001
    Índice de contenido

    Lo que puede ser confuso es que la capacidad de Python para producir una estructura consistente también puede depender del orden de herencia. Por ejemplo, si modificamos el clases de las que ‘X’ hereda tal que el orden es I y J: Entonces esto se compila y se puede usar con el código anterior (aunque con diferentes producción): Sin embargo, si cambiamos el orden de las clases principales de modo que intercambiemos I y J: Ahora obtenemos una excepción TypeError planteada: Por lo tanto, en general se debe tener cuidado al utilizar la herencia múltiple; pero eso no quiere decir que tales situaciones no sean útiles. En algunos casos, desea un clase para heredar de los padres que tienen jerarquías completamente diferentes y son completamente separados unos de otros; en tales situaciones la herencia múltiple puede ser muy útil: estos llamados comportamientos ortogonales son uno de los mejores usos de herencia múltiple y no debe ignorarse simplemente debido a preocupaciones de aumento complejidad. Las definiciones de clase utilizadas para la jerarquía de clases de herencia múltiple se dan abajo: clase X (I, J): def str(uno mismo): devuelve super().str() + ‘X’ imprimir(x): AIX

    A clase X(J, I): def str(uno mismo): devuelve super().str() + ‘X’ Rastreo (llamadas recientes más última): Archivo “herencia_múltiple_ejemplo.py”, línea 73, en <módulo> clase X(J, I): TypeError: no se puede crear una resolución de método consistente orden (MRO) para bases J, I 228 20 Herencia de clase

    comments powered by Disqus