Manual de Ruby: Clases

De Foros del Web

Empezemos con un ejemplo simple, una jukebox tiene necesidades canciones. Así que representaremos con una clase en Ruby las canciones. Sabemos que una canción de verdad tiene un nombre, un artista, y una duración, por nos aseguraremos que nuestra clase cancion tenga la misma informacion.



Ejemplo

Comenzaremos creando una clase básica de canción, recordemos que los nombres de clases comienzan con una letra mayúscula, mientras que los nombres de método comienza con una letra minúscula. La clase Song contiendra un solo método, initialize.


class Song
  def initialize(nombre, artista, duracion)
    @nombre     = nombre
    @artista    = artista
    @duracion   = duracion
  end
end


initialize es un método especial en los programas de Ruby. Cuando se llama a Song.new para crear un objeto nuevo, Ruby crea un objeto sin inicializar y luego llama al metodo initialize del metodo, pasando los parámetros que fueron pasados a new.

Para la clase Song, el método initialize toma tres parámetros. Estos parámetros actúan como variables locales dentro del método, de modo que siga la variable local la convencion de comenzar con una letra minúscula.

Cada objeto representa su propia canción, así que necesitamos que cada uno de nuestros objetos Song contengan nombre de la canción, artista, y su duración. Esto significa que tenemos que almacenar estos valores como variables de instancia dentro del objeto. En Ruby, una variable de instancia es simplemente un nombre precedido de un signo ``""en (``@""). En nuestro ejemplo, el nombre del parámetro se asigna a la variable de instancia @nombre, el artista se asigna a @artista, y la duración se asigna a @duración.

aSong = Song.new("Bicylops", "Fleck", 260)


Este artículo es parte del Manual de Ruby.


Herramientas personales