14.6. El método de inicialización

El metodo de inicialización es un metodo especial que se invoca al crear un objeto. El nombre de este metodo es __init__ (dos guiones bajos, seguidos de init y dos guiones bajos mas). Un metodo de inicialización para la clase Hora
es así:

   1: class Hora:
   2:     def __init__(self, horas=0, minutos=0, segundos=0):
   3:         self.horas = horas
   4:         self.minutos = minutos
   5:         self.segundos = segundos

No hay conflicto entre el atributo self.horas y el parámetro horas. la notación de punto especifica a que variable nos referimos.


Cuando invocamos el constructor Hora, los argumentos que damos se pasan a init:




   1: >>> horaActual = Hora(9, 14, 30)
   2: >>> horaActual.imprimeHora()
   3: >>> 9:14:30

Como los parámetros son opcionales, podemos omitirlos:



   1: >>> horaActual = Hora()
   2: >>> horaActual.imprimeHora()
   3: >>> 0:0:0

O dar solo el primer parámetro:



   1: >>> horaActual = Hora (9)
   2: >>> horaActual.imprimeHora()
   3: >>> 9:0:0

O los dos primeros parámetros:



   1: >>> horaActual = Hora (9, 14)
   2: >>> horaActual.imprimeHora()
   3: >>> 9:14:0

Finalmente, podemos dar un subconjunto de los parámetros nombrándolos explícitamente:




   1: >>> horaActual = Hora(segundos = 30, horas = 9)
   2: >>> horaActual.imprimeHora()
   3: >>> 9:0:30
0