
Programmation orientée objet en Ruby
Classes, modules, héritage, mixins, attr_accessor, self, métaprogrammation basique
1Comment définir une classe en Ruby ?
Comment définir une classe en Ruby ?
Réponse
En Ruby, une classe est définie avec le mot-clé class suivi du nom de la classe (en CamelCase par convention) et se termine par end. La méthode initialize sert de constructeur et est appelée automatiquement lors de la création d'une nouvelle instance avec Class.new. Les variables d'instance (préfixées par @) stockent l'état de chaque objet.
2Quel est le rôle de la méthode initialize en Ruby ?
Quel est le rôle de la méthode initialize en Ruby ?
Réponse
La méthode initialize est le constructeur en Ruby. Elle est automatiquement appelée lorsqu'un nouvel objet est créé via Class.new. Elle permet d'initialiser les variables d'instance et de configurer l'état initial de l'objet. Contrairement à d'autres langages, le constructeur ne porte pas le nom de la classe mais s'appelle toujours initialize.
3Quelle est la différence entre attr_reader, attr_writer et attr_accessor ?
Quelle est la différence entre attr_reader, attr_writer et attr_accessor ?
Réponse
Ces trois méthodes de classe génèrent automatiquement des accesseurs. attr_reader crée uniquement un getter (lecture), attr_writer crée uniquement un setter (écriture), et attr_accessor crée les deux à la fois. Cela évite d'écrire manuellement les méthodes getter/setter répétitives, rendant le code plus concis et lisible.
Comment fonctionne l'héritage de classe en Ruby ?
Quelle est la différence entre un module et une classe en Ruby ?
+17 questions d'entretien
Autres sujets d'entretien Ruby on Rails
Les bases de Ruby
Fondamentaux Rails
Routing & Controllers
Les bases d'ActiveRecord
Views & Templates ERB
Associations ActiveRecord
Requêtes ActiveRecord avancées
Formulaires Rails
Authentification & Autorisation
Asset Pipeline & Frontend moderne
Rails en mode API
Tests avec RSpec
ActiveJob & Background Jobs
ActionCable & WebSockets
ActionMailer
ActiveStorage
Stratégies de caching
Migrations avancées
Rails Engines & Apps modulaires
Optimisation des performances
Design Patterns Rails
Métaprogrammation Ruby
Sécurité Rails
GraphQL avec Rails
Déploiement & Production
Monitoring & Logging
Stratégies d'upgrade Rails
Maîtrise Ruby on Rails pour ton prochain entretien
Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.
Commencer gratuitement