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 claseSubdefine 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
Suby 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.