domingo, 8 de junio de 2014

Programando en Ruby ... no. 5

Clases en Ruby
Es muy fácil crearlas en este lenguaje.



Al igual que en Python y/o Groovy no es necesario crear métodos getter y setter para acceder a las propiedades de la clase.

En Python sería algo así:
class Diamante(object):
     def __init__(self, valor):
          self.valor=valor

#main
diamante=Diamante('20.9')
print "valor :%f\n"%(diamante.valor)

En Groovy así:
class Diamante{
     Float valor
}
#main
static main(args){
  def diamante=new Diamante(valor:20.9f)
  println "valor $diamante.valor"
}

¿Existe la herencia en Ruby?
Si, existe la herencia en este lenguaje. La sintaxis es:

class ClasePadre
...
end

class ClaseHija  < ClasePadre
...

end


Ejemplo. Creamos una clase padre  llamada 'Animal' y dos clases hijas 'Spider' y 'Bird'

#clase padre
class Animal 
      attr_accessor :no_patas
       def initialize(no_patas)
           @no_patas=no_patas
            puts "objeto animal creado"
      end
end

#clase hija
class Spider  < Animal
      attr_accessor :especie
       def initialize(no_patas, especie)
           super(no_patas)
           @especie=especie
            puts "objeto spider creado"
      end
end

#clase hija

class Bird   <  Animal
      attr_accessor :color
       def initialize(no_patas, color)
            super(no_patas)
           @color=color
            puts "objeto bird creado"
      end
end


Además de heredar la propiedad 'no_patas' de la clase padre 'Animal' las clases hijas pueden poseer otras más. Para terminar creamos el 'main' del programa.

begin
  spider=Spider.new(8,'negra')

  bird=Bird.new(2,'amarilla')

   puts "Spider"
   puts "no. de patas:"+spider.no_patas.to_s
   puts "color: #{spider.color}"

   puts "Bird:"
   puts "no. de patas:"+bird.no_patas.to_s
   puts "color: #{bird.color}"

rescue Exception => e
  puts e.message
end


Ejecutamos:  ruby animales.rb


Links
http://codemonkeyjunior.blogspot.mx/2014/03/programando-en-ruby-no-4.html
http://codemonkeyjunior.blogspot.mx/2014/02/programando-en-ruby-no-3.html
http://codemonkeyjunior.blogspot.mx/2014/01/programando-en-ruby-no-2.html
http://codemonkeyjunior.blogspot.mx/2013/06/programando-en-ruby-no-1.html
http://codemonkeyjunior.blogspot.mx/2013/05/un-vistazo-ruby.html

No hay comentarios:

Publicar un comentario

Vibe Coding (la programación vía IA): ¿el futuro de la programación?

Vibe Coding es un nuevo paradigma de programación, una nueva forma de crear código. Es un enfoque emergente en el desarrollo de sof...

Etiquetas

Archivo del blog