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
endUso 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: 35Ejercicio Práctico
Ejercicio 1: Crear una Clase Coche
- Define una clase
Cochecon variables de instancia paramarcaymodelo. - Crea métodos de instancia para obtener y establecer estos valores.
- Crea una instancia de
Cochey 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: CivicResumen
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
