En este tema, aprenderemos sobre las variables y métodos de instancia en Ruby, que son fundamentales para la programación orientada a objetos. Las variables de instancia son variables que pertenecen a una instancia específica de una clase, mientras que los métodos de instancia son funciones que operan sobre esas instancias.
Conceptos Clave
Variables de Instancia
- Definición: Las variables de instancia son variables que pertenecen a una instancia específica de una clase. Se definen con un
@
antes del nombre de la variable. - Alcance: Solo son accesibles dentro de los métodos de la instancia de la clase.
- Persistencia: Mantienen su valor mientras la instancia de la clase exista.
Métodos de Instancia
- Definición: Los métodos de instancia son funciones definidas dentro de una clase que operan sobre las instancias de esa clase.
- Acceso: Se acceden a través de una instancia de la clase.
- Propósito: Permiten manipular y acceder a las variables de instancia.
Ejemplo Práctico
Vamos a crear una clase Persona
que tenga variables de instancia para el nombre y la edad, y métodos de instancia para obtener y modificar estos valores.
Definición de la Clase
class Persona # Método de inicialización def initialize(nombre, edad) @nombre = nombre # Variable de instancia @edad = edad # Variable de instancia end # Método de instancia para obtener el nombre def obtener_nombre @nombre end # Método de instancia para establecer el nombre def establecer_nombre(nombre) @nombre = nombre end # Método de instancia para obtener la edad def obtener_edad @edad end # Método de instancia para establecer la edad def establecer_edad(edad) @edad = edad end end
Uso de la Clase
# Crear una nueva instancia de Persona persona = Persona.new("Juan", 30) # Obtener el nombre y la edad puts persona.obtener_nombre # Output: Juan puts persona.obtener_edad # Output: 30 # Modificar el nombre y la edad persona.establecer_nombre("Carlos") persona.establecer_edad(35) # Obtener los nuevos valores puts persona.obtener_nombre # Output: Carlos puts persona.obtener_edad # Output: 35
Ejercicio Práctico
Ejercicio 1: Crear una Clase Coche
- Define una clase
Coche
con variables de instancia paramarca
ymodelo
. - Crea métodos de instancia para obtener y establecer estos valores.
- Crea una instancia de
Coche
y prueba los métodos.
Solución
class Coche def initialize(marca, modelo) @marca = marca @modelo = modelo end def obtener_marca @marca end def establecer_marca(marca) @marca = marca end def obtener_modelo @modelo end def establecer_modelo(modelo) @modelo = modelo end end # Crear una nueva instancia de Coche coche = Coche.new("Toyota", "Corolla") # Obtener la marca y el modelo puts coche.obtener_marca # Output: Toyota puts coche.obtener_modelo # Output: Corolla # Modificar la marca y el modelo coche.establecer_marca("Honda") coche.establecer_modelo("Civic") # Obtener los nuevos valores puts coche.obtener_marca # Output: Honda puts coche.obtener_modelo # Output: Civic
Resumen
En esta sección, hemos aprendido sobre las variables y métodos de instancia en Ruby. Las variables de instancia son específicas de una instancia de una clase y se utilizan para almacenar datos que pertenecen a esa instancia. Los métodos de instancia son funciones que operan sobre las instancias de la clase y permiten manipular y acceder a las variables de instancia. Hemos visto ejemplos prácticos y realizado un ejercicio para reforzar estos conceptos.
En el próximo tema, exploraremos las variables y métodos de clase, que son compartidos entre todas las instancias de una clase.
Curso de Programación en Ruby
Módulo 1: Introducción a Ruby
Módulo 2: Conceptos Básicos de Ruby
Módulo 3: Trabajando con Colecciones
Módulo 4: Programación Orientada a Objetos en Ruby
- Clases y Objetos
- Variables y Métodos de Instancia
- Variables y Métodos de Clase
- Herencia
- Módulos y Mixins
Módulo 5: Conceptos Avanzados de Ruby
- Bloques, Procs y Lambdas
- Metaprogramación
- Manejo de Excepciones
- Entrada/Salida de Archivos
- Expresiones Regulares
Módulo 6: Introducción a Ruby on Rails
- ¿Qué es Ruby on Rails?
- Configuración del Entorno Rails
- Creando una Aplicación Simple en Rails
- Arquitectura MVC
- Enrutamiento
Módulo 7: Pruebas en Ruby
- Introducción a las Pruebas
- Pruebas Unitarias con Minitest
- Desarrollo Guiado por Comportamiento con RSpec
- Mocking y Stubbing
Módulo 8: Mejores Prácticas en Ruby
- Estilo de Código y Convenciones
- Refactorización
- Optimización del Rendimiento
- Mejores Prácticas de Seguridad