Saltar a contenido

Modulos que definen clases

Al igual que sucedía con las funciones, podemos crear un módulo con clases de utilidad, e importarlo:

MisClases.py
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
class Ave:

    def __init__(self, nombre):
        self.nombre = nombre

    def volar(self):
        print (self.nombre, "está volando")

class Loro (Ave):

    def saludar(self):
        print (self.nombre, "dice hola")

    def despedirse(self):
        print (self.nombre, "dice adios")
Loro.py
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
from MisClases import Loro

Poly = Loro("Poly")

print("Creando", Poly.nombre)
Poly.volar()
Poly.saludar()
Poly.despedirse()

del Poly

Lo que muestra:

Creando Poly
Poly está volando
Poly dice hola
Poly dice adios

Nótese que solo importamos los identificadores a los que se hace referencia en el programa principal. No es necesario importar la clase Ave, porque no se menciona explícitamente, aunque la clase Loro la utiliza.