
Programmazione orientata agli oggetti in Ruby
Classi, moduli, ereditarietà, mixin, attr_accessor, self, metaprogrammazione di base
1Come definire una classe in Ruby?
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.
2Qual è il ruolo del metodo initialize in Ruby?
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.
3Qual è la differenza tra attr_reader, attr_writer e attr_accessor?
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.
Come funziona l'ereditarietà delle classi in Ruby?
Qual è la differenza tra un module e una classe in Ruby?
+17 domande da colloquio
Altri argomenti di colloquio Ruby on Rails
Fondamenti di Ruby
Fondamenti di Rails
Routing & Controllers
Fondamenti di ActiveRecord
Views e template ERB
Associazioni ActiveRecord
Query ActiveRecord avanzate
Form Rails
Autenticazione e autorizzazione
Asset Pipeline moderno e frontend
Modalità API di Rails
Test con RSpec
ActiveJob & Background Jobs
ActionCable & WebSockets
ActionMailer
ActiveStorage
Strategie di caching
Migrazioni avanzate
Rails Engines e app modulari
Ottimizzazione delle prestazioni
Design Pattern in Rails
Metaprogrammazione in Ruby
Sicurezza in Rails
GraphQL con Rails
Deployment e Produzione
Monitoring & Logging
Strategie di upgrade di Rails
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