Overblog Seguir este blog
Edit post Administration Create my blog
27 junio 2012 3 27 /06 /junio /2012 07:18

Luego de haberle dado un vistazo al lenguaje de programación Ruby, creo que es suficiente introducción para empezar realmente a entender en forma mas basica Ruby.

 

POO

 

Como la gran mayoría de programadores conoce, la POO (Programación Orientada a Objetos) es un pilar extremadamente básico de Ruby, para los que no conocen qué es la POO no se preocupen, con Ruby es muy natural empezar a programar siguiendo los lineamientos de POO.

 

Para empezar, definiremos con ejemplos y analogías que es una clase y sus propiedades, pongan atención ya que es demasiado importante.

 

Clase

 

La clase simplemente sirve para definir nuevos objetos, pongo un ejemplo práctico:

 

Imaginen un trencito de plástico, si nos preguntan "¿que clase de objeto es eso?" nosotros simplemente le responderíamos "es un juguete".

 

Ahora imaginen un soldadito de madera, si nos preguntan "¿que clase de objeto es eso?" nosotros simplemente le responderíamos "es un juguete".

 

Entonces deducimos por razones obvias que en el ejemplo, la "clase" vendría a ser "juguete" y por lo tanto, podemos decir "La clase juguete" que en ruby simplemente pondriamos:

 

class Juguete

 

# Aqui va todo el codigo que define esta clase Jueguete

 

end

 

Donde class viene a ser "Clase" y hemos creado una clase llamada "Juguete", end sirve para indicar que hasta ahí termina la definicion de la clase, es decir si ponemos class siempre tiene que haber un end (para los que ya han programado antes: end en sí, es la terminacion de la sintaxis de class).

 

El nombre de la clase, debe ser escrito en capital (osea la primera letra en mayúscula) como en el ejemplo "Juguete"

 

Ahora vamos a utilizar el IRB y definir esta clase "Juguete" en Ruby de una vez:

 

irb(main):026:0> class Juguete

irb(main):027:1> end

=> nil

irb(main):028:0> Juguete

=> Juguete

 

Como pueden observar, la linea 26 y 27 ha definido una clase llamada Juguete, en la linea 28, cuando ponemos el nombre de la clase creada, el IRB nos responde (en consecuencia) la clase Juguete.

 

Utilizar la clase: Instancias

 

Como se imaginaran, la clase ya esta creada, ahora deseamos utilizarlo para crear a al soldadito de madera y al trencito de plástico.

 

trencito = Juguete.new    # se leería como "trencito" es un "nuevo" objeto de la clase "Juguete"

soldadito = Juguete.new

 

En este caso, se dice que trencito y soldadito son "instancias" de la clase "Juguete", ademas que ahora trencito y soldadito son objetos (y por supuesto tambien son variables que almacenan un objeto de la clase "Juguete").

 

En el IRB sería:

 

irb(main):030:0> trencito = Juguete.new

=> #<Juguete:0x2f9eda0>

 

irb(main):031:0> soldadito = Juguete.new

=> #<Juguete:0x26b1970>

 

Como se puede observar, new sirve para indicar que la clase "Juguete" cree un nuevo objeto (un nuevo jueguete) y para ello lo debe almacenar en algun lugar, entonces, trencito y soldadito son variables que almacenan ese "nuevo juguete", esta acción les hace merecedor de definirlos como que "trencito y soldadito" son objetos.

 

Ademas, el IRB responde efectivamente que tanto trencito y soldadito es un objeto Juguete, y adicionalmente muestra un identificador o "id" de cada uno: 0x2f9eda0 para trencito y 0x26b1970 para soldadito, esto es porque cada "nuevo juguete" nace con un "id" propio por si "instanciamos" (o creamos) varios "trencitos" o varios "soldaditos" y que estos no se reemplacen entre si (o se "chanquen").

 

Muy bien, espero que haya sido de mucha utilidad y terminamos con el tema 10, ahora vamos a seguir con el tema 11 que es practicamente la continuacion y esta muy interesante e importante, por favor no se queden con las dudas y comenten.

Compartir este post

Repost 0
Published by Daniel A. Nuñez C. - en Tutorial Ruby
Comenta este artículo

Comentarios

Presentación

  • : El blog de Daniel A. Nuñez C.
  • El blog de Daniel A. Nuñez C.
  • : Un blog sobre tecnologías y futuro, también sobre lenguaje de programación Ruby y más.
  • Contacto

Perfil

  • Daniel A. Nuñez C.
  • Ingeniero de Sistemas
  • Ingeniero de Sistemas

Donaciones/Donations

Por favor considera realizar una donación

Please make a donation

btn_donateCC_LG.png

Buscar Tema En Este Blog

Archivos