Sobes.tech
Intern

Cos'è una classe nel linguaggio Ruby?

sobes.tech AI

Risposta dell'AI

La classe in Ruby è un modello o uno schema per creare oggetti. Essa definisce la struttura (dati/attributi) e il comportamento (metodi) che avranno le istanze di questa classe.

Caratteristiche principali:

  • Incapsulamento: Combina dati e metodi che operano su questi dati in un'unica entità.
  • Ereditarietà: Permette di creare nuove classi (sottoclassi) basate su classi esistenti (superclassi), ereditando le loro caratteristiche e comportamenti.
  • Polimorfismo: Permette agli oggetti di classi diverse di rispondere allo stesso metodo in modo specifico al loro tipo.

Esempio di una classe semplice:

class Dog
  # Costruttore della classe
  def initialize(name, breed)
    @name = name # Attributo di istanza
    @breed = breed # Attributo di istanza
  end

  # Metodo di istanza
  def bark
    "#{@name} dice Bau!"
  end

  # Getter per l'attributo
  def name
    @name
  end
end

# Creazione di un'istanza della classe (oggetto)
my_dog = Dog.new("Bobic", "Cane randagio")

# Chiamata a un metodo di istanza
puts my_dog.bark # Output: Bobic dice Bau!
puts my_dog.name # Output: Bobic

Le classi in Ruby sono oggetti di prima classe, anche esse possono essere modificate dinamicamente.