Tutorial Ruby #05 Clases y Metodos

Tutorial ruby 05.png

Es momento de que profundicemos mas con el lenguaje de Ruby y empezaremos con crear nuestras clases, métodos y entender su estructura. Recordemos que esto no es un tutorial sobre Programación Orientada a Objetos por lo que no se profundizara en el tema pero que es muy importante que lo conozcan para que no se pierdan.

Las clases en Ruby son muy fáciles de declarar y flexibles al usarse en diferentes métodos pues recordemos que para Ruby todo es considerado objeto mientras que en otros lenguajes no necesariamente. (Ejemplo: en c++ una variable tipo Int no es considerado objeto mientras que una variable en Ruby que tenga un entero si es considerado un objeto).

class Persona
    def saludar
        puts "Hola a todos"
    end

Podemos llamar a dos objetos diferentes de clase bajo una función y mientras ambos objetos tengan los mismos métodos no ocasionara ningún error. De esas forma podemos mostrar que tan flexible es Ruby.

class  Perro
    def  sonido
        puts  "Guau Guau"
    end
end
class  Gato
    def  sonido
        puts  "miau miau"
    end
end
def  hacer_sonido(clase)
clase.sonido
end
perro  =  Perro.new
hacer_sonido(perro)
gato  =  Gato.new
hacer_sonido(gato)

Ejemplo sacado y basado del libro Ruby on Rails: Desarrollo práctico de aplicaciones web de Santiago Ponce Moreno.

Para nuestras variables que se encuentren dentro los métodos de clase usaremos el "@" antes del nombre de nuestra variable, si lo vemos en analogía, este símbolo es el equivalente a thisen otros lenguajes de programación

class Persona
    def initialize(nombre)
        @nombre = nombre
    end
end
persona = new Persona("Shadow Myst")

Otro detalle que coloque aqui es la palabra initialize que es una palabra reservada que nos crea un "constructor" para nuestra clase, en otras palabras, es método que se "correrá" cuando creamos el objeto de una clase.

Para el siguiente tutorial hablare con mas detalle los métodos de clase y posiblemente sobre herencia. Ya estamos mas cerca de hablar sobre su framework mas conocido Rails


Seguimos creciendo poco a poco así que los invito a unirse a nuestro canal de Discord para irnos conociendo y compartan sus post

Sort:  

Hi @developspanish, I'm @checky ! While checking the mentions made in this post I noticed that @nombre doesn't exist on Steem. Did you mean to write @ndmore ?

If you found this comment useful, consider upvoting it to help keep this bot running. You can see a list of all available commands by replying with !help.

Hello! Your post has been resteemed and upvoted by @ilovecoding because we love coding! Keep up good work! Consider upvoting this comment to support the @ilovecoding and increase your future rewards! ^_^ Steem On!

Reply !stop to disable the comment. Thanks!

Votado por el trail @team-mexico
Canal Discord ¡Te esperamos!

Delegaciones para @team-mexico ¡Ayúdanos a crecer!

10 SP - 25 SP - 50 SP - 100 SP - 150 SP- Mas información.
teammexico (1).png

Congratulations @developspanish! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :

Award for the number of upvotes

Click on the badge to view your Board of Honor.
If you no longer want to receive notifications, reply to this comment with the word STOP

Support SteemitBoard's project! Vote for its witness and get one more award!

Coin Marketplace

STEEM 0.18
TRX 0.14
JST 0.030
BTC 58665.81
ETH 3153.57
USDT 1.00
SBD 2.44