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

  1. Define una clase Coche con variables de instancia para marca y modelo.
  2. Crea métodos de instancia para obtener y establecer estos valores.
  3. 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.

© Copyright 2024. Todos los derechos reservados