Ruby on Rails

Programmazione orientata agli oggetti in Ruby

Classi, moduli, ereditarietà, mixin, attr_accessor, self, metaprogrammazione di base

20 domande da colloquio·
Junior
1

Come definire una classe in Ruby?

Risposta

In Ruby, una classe è definita con la parola chiave class seguita dal nome della classe (in CamelCase per convenzione) e termina con end. Il metodo initialize funge da costruttore e viene chiamato automaticamente quando si crea una nuova istanza con Class.new. Le variabili di istanza (con prefisso @) memorizzano lo stato di ogni oggetto.

2

Qual è il ruolo del metodo initialize in Ruby?

Risposta

Il metodo initialize è il constructor in Ruby. Viene chiamato automaticamente quando un nuovo oggetto viene creato tramite Class.new. Permette di inizializzare le variabili di istanza e di configurare lo stato iniziale dell'oggetto. A differenza di altri linguaggi, il constructor non prende il nome della classe ma si chiama sempre initialize.

3

Qual è la differenza tra attr_reader, attr_writer e attr_accessor?

Risposta

Questi tre metodi di classe generano automaticamente gli accessori. attr_reader crea solo un getter (lettura), attr_writer crea solo un setter (scrittura) e attr_accessor li crea entrambi in una volta. Questo evita di scrivere manualmente metodi getter/setter ripetitivi, rendendo il codice più conciso e leggibile.

4

Come funziona l'ereditarietà delle classi in Ruby?

5

Qual è la differenza tra un module e una classe in Ruby?

+17 domande da colloquio

Padroneggia Ruby on Rails per il tuo prossimo colloquio

Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.

Inizia gratis