Cómo Python encuentra propiedades y métodos
Ahora veremos cómo Python trata con los métodos de herencia.
Echa un vistazo al ejemplo en el editor. Vamos a analizarlo:
- Existe una clase llamada
Super
, que define su propio constructor utilizado para asignar la propiedad del objeto, llamadanombre
. - La clase también define el método
__str__()
, lo que permite que la clase pueda presentar su identidad en forma de texto. - La clase se usa luego como base para crear una subclase llamada
Sub
. La claseSub
define su propio constructor, que invoca el de la superclase. Toma nota de cómo lo hemos hecho:Super.__init__(self, nombre)
. - Hemos nombrado explícitamente la superclase y hemos apuntado al método para invocar a
__init__()
, proporcionando todos los argumentos necesarios. - Hemos instanciado un objeto de la clase
Sub
y lo hemos impreso.
El código da como salida:
Mi nombre es Andy.
Nota: Como no existe el método __str__()
dentro de la clase Sub
, la cadena a imprimir se producirá dentro de la clase Super
. Esto significa que el método __str__()
ha sido heredado por la clase Sub
.