Tracce
/
Ruby
Ruby
/
Programma
/
Variabili di istanza
Va

Variabili di istanza in Ruby

7 esercizi

Informazioni su Variabili di istanza

Punti chiave:

  • Quando il metodo .new di una classe viene chiamato per creare un'istanza di un oggetto, al metodo .initialize vengono passati tutti gli argomenti per inizializzare lo stato dell'istanza.
  • I nomi delle variabili di istanza sono preceduti da @.
  • Le variabili di istanza hanno come valore predefinito nil finché non vengono impostate esplicitamente.
  • Le variabili di istanza sono private per impostazione predefinita e vanno gestite tramite getter e setter
class Backpack
  initialize(owner)
    @owner = owner
  end

  def owner
    @owner
  end

  def owner=(new_owner)
    @owner = new_owner
  end
end
  • I metodi il cui nome termina con = sono riconosciuti da Ruby come setter e consentono l'uso della sintassi di assegnazione come «zucchero sintattico», ad esempio Backpack.new("Sven").owner = "Ayah". Nota lo spazio tra owner e =, mentre il nome effettivo del metodo è owner=.
  • I getter e i setter possono essere creati con i metodi attr_reader, attr_writer e attr_accessor:
    • attr_reader: crea i getter per i simboli elencati
    • attr_writer: crea i setter per i simboli elencati
    • attr_accessor: crea i getter e i setter per i simboli elencati
class Backpack
  attr_accessor :owner

  initialize(owner)
    @owner = owner
  end
end
  • Perché usare getter e setter invece della variabile di istanza direttamente?
    • Se ci fosse un errore di battitura (li chiamiamo «typo») nell'esempio precedente (ad esempio @ownar), fallirebbe in silenzio, introducendo potenzialmente un bug nel sistema.
    • I getter e i setter rendono tutto esplicito e sollevano un errore in caso di typo

Riferimenti

Inizializzare le istanze degli oggetti

Le variabili di istanza

Modifica tramite GitHub Il collegamento si apre in una nuova finestra o scheda

Impara Variabili di istanza

La pratica è bloccata

Sblocca 5 altri esercizi per esercitarti su Variabili di istanza