Capítulo 25. Inicialización de objetos

Tabla de contenidos
El método initialize
Modificando suposiciones por requisitos
Inicialización flexible

La clase Fruta del capítulo anterior tiene dos variables instancia, una para describir la clase de fruta y otra para describir su estado. Después de redefinir el método inspect de la clase, nos dimos cuenta de que no tiene sentido que una pieza de fruta carezca de esas características. Afortunadamente, Ruby tiene un mecanismo para asegurar que las variables instancia se inicialicen siempre.

El método initialize

Siempre que Ruby crea un objeto nuevo, busca un método llamado initialize y lo ejecuta. Luego lo más sencillo que se puede hacer es utilizar este método para dar valores a las variables instancia, así el método inspect no tiene nada por lo que quejarse.

  ruby> class Fruta
  ruby|   def initialize
  ruby|     @kind = "manzana"
  ruby|     @condition = "madura"
  ruby|   end
  ruby| end
  nil
  ruby> f4 = Fruta.new
  una manzana madura