Cómo crear clases y objetos en Ruby

Cómo crear clases y objetos en Ruby
Ruby es un poderoso lenguaje de programación que ofrece características y herramientas modernas. Una de esas características es el soporte para la programación orientada a objetos, que incluye polimorfismo de encapsulación, abstracción, herencia y más.

Este tutorial discutirá un concepto clave en la programación orientada a objetos: objeto y clases.

¿Cuáles son las clases de rubí y los bichos??

Comencemos con una clase.

Una clase es un plan para crear objetos y proporcionar implementaciones de valores, incluidas variables, métodos, atributos y más.

Un objeto, por otro lado, es una sola instancia de una clase. Toma un coche, por ejemplo. Podemos crear una clase que describa los planos de construir un automóvil. Los atributos de la clase pueden ser todas las cosas que los autos tienen en común:

  1. Un motor
  2. Una puerta
  3. Un modelo
  4. Fabricante

La clase de automóvil también puede incluir métodos que son acciones que los objetos de clase pueden realizar. Un ejemplo sería que el automóvil puede encender, acelerar, detenerse y tal.

Las clases son muy útiles cuando necesita crear objetos similares con solo aspectos diferentes. En lugar de declarar un bloque de código para un automóvil Mercedes, un bugatti ar, un tesla y tal, puede crear una sola clase a la que cada modelo.

Cómo crear una clase y un objeto en Ruby

Ruby es un lenguaje increíble que también es muy fácil de usar. Proporciona una sintaxis generalmente simple para crear una clase.

La sintaxis general es:

nombre de clase
# BLOQUEAR
fin

Comenzamos llamando a la palabra clave de la clase seguida del nombre de la clase que deseamos crear. El nombre de la clase comienza con una letra mayúscula y usa CamelCase para los siguientes nombres.

Dentro de la clase, definimos todas las variables y métodos que la clase requerirá.

Cerramos el código de clase usando la palabra clave final.

Ejemplo

Echemos un vistazo a un ejemplo de clase de automóvil.

coche de clase
Def Inicializar (motor, nombre, año)
@Engine = motor
@name = nombre
@Year = año
fin
Definitivamente encender
Ponga "encendido!"
fin
Deff Stop
pone "deteniendo el vehículo"
fin
Def acelerar (Target_speed)
@Target_Speed ​​= Target_speed
Pone "El automóvil acelerando en #Target_speed M/H"
fin
fin
F = coche.nuevo ("A108D", "F A-Class", 2010)
G = coche.Nuevo ("00CA", "Zero G-8", 2011)
H = coche.Nuevo ("777d", "G Potato", 2022)

En el código anterior, comenzamos definiendo la clase de automóvil. Dentro de la clase, definimos el método de inicialización, un tipo especial de método en Ruby utilizado para crear la instancia llamada de la clase con los argumentos requeridos. El método de inicializar actúa como un constructor para nuevos.

Dentro del método de inicialización, pasamos el motor, el nombre y el año de fabricación del automóvil. Luego realizamos algunas acciones con el automóvil, incluyendo encendido, aceleración y detención.

Finalmente, creamos una instancia de la clase de auto. Llamamos a esta instanciación porque creamos una instancia de la clase.

Pasamos los parámetros del método de inicializar, que crea tres tipos de automóviles únicos.

Utilizando métodos de clase

En el ejemplo anterior, creamos una clase con varios métodos pero aún no los he usado. Para usar un método, simplemente ingresamos el nombre del objeto seguido de un período y el nombre del método.

La sintaxis es:

my_object.método

Tomemos el ejemplo anterior; Para encender el auto F, podemos hacer:

// Consulte el código anterior
F = coche.nuevo ("A108D", "F A-Class", 2010)
G = coche.Nuevo ("00CA", "Zero G-8", 2011)
H = coche.Nuevo ("777d", "G Potato", 2022)
F.encender

Si ejecutamos el código anterior, deberíamos ver que el automóvil se enciende con éxito imprimiendo la cadena "Ignition!"

Cada parte del método de inicializar funciona como un comando que define las acciones que puede hacer el objeto creado desde la clase.

Obtener la clase fuente

Cada tipo en Ruby es un objeto de una clase. Puede ver desde qué clase se crea el objeto utilizando el método de clase.

Por ejemplo:

coche de clase
Def Inicializar (motor, nombre, año)
@Engine = motor
@name = nombre
@Year = año
fin
Definitivamente encender
Ponga "encendido!"
fin
Deff Stop
pone "deteniendo el vehículo"
fin
Def acelerar (Target_speed)
@Target_Speed ​​= Target_speed
Pone "El automóvil acelerando en #Target_speed M/H"
fin
fin
F = coche.nuevo ("A108D", "F A-Class", 2010)
pone "hola".clase
pone 10.clase
pone 11.023.clase
pone F.clase

Una vez que ejecutamos el código, deberíamos ver las clases para la cadena, el entero, el flotador y el automóvil como:

Cadena
Entero
Flotar
Auto

Conclusión

En este tutorial, aprendimos los conceptos básicos de la programación orientada a objetos en Ruby usando clases y objetos. Es bueno tener en cuenta que OOP es un tema masivo. Consulte otros recursos para obtener más información.