# Objektorientierte Programmierung in Ruby (Ruby on Rails) > Klassen, Module, Vererbung, Mixins, attr_accessor, self, grundlegende Metaprogrammierung - 20 Interview-Fragen - Junior - [Interview-Fragen: Ruby on Rails](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen.md) ## 1. Wie definiert man eine Klasse in Ruby? **Antwort** In Ruby wird eine Klasse mit dem Schlüsselwort class gefolgt vom Klassennamen (per Konvention in CamelCase) definiert und endet mit end. Die Methode initialize dient als Konstruktor und wird beim Erzeugen einer neuen Instanz mit Class.new automatisch aufgerufen. Instanzvariablen (mit @ vorangestellt) speichern den Zustand jedes Objekts. ## 2. Welche Rolle spielt die initialize-Methode in Ruby? **Antwort** Die initialize-Methode ist der Constructor in Ruby. Sie wird automatisch aufgerufen, wenn ein neues Objekt über Class.new erstellt wird. Sie ermöglicht das Initialisieren von Instanzvariablen und das Einrichten des Anfangszustands des Objekts. Im Gegensatz zu anderen Sprachen trägt der Constructor nicht den Namen der Klasse, sondern heißt immer initialize. ## 3. Was ist der Unterschied zwischen attr_reader, attr_writer und attr_accessor? **Antwort** Diese drei Klassenmethoden generieren automatisch Accessoren. attr_reader erstellt nur einen Getter (Lesen), attr_writer erstellt nur einen Setter (Schreiben) und attr_accessor erstellt beide auf einmal. Dadurch entfällt das manuelle Schreiben sich wiederholender Getter/Setter-Methoden, was den Code knapper und lesbarer macht. ## 17 weitere Fragen verfügbar - Wie funktioniert die Klassenvererbung in Ruby? - Was ist der Unterschied zwischen einem Module und einer Klasse in Ruby? Kostenlos registrieren: https://sharpskill.dev/de/login ## Weitere Ruby on Rails-Interviewthemen - [Ruby-Grundlagen](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/ruby-basics.md): 25 Fragen, Junior - [Rails-Grundlagen](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/rails-fundamentals.md): 18 Fragen, Junior - [Routing & Controllers](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/routing-controllers.md): 22 Fragen, Junior - [ActiveRecord-Grundlagen](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/active-record-basics.md): 25 Fragen, Junior - [Views & ERB-Templates](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/views-erb-templates.md): 20 Fragen, Junior - [ActiveRecord-Assoziationen](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/active-record-associations.md): 24 Fragen, Mid-Level - [Fortgeschrittene ActiveRecord-Abfragen](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/active-record-queries.md): 28 Fragen, Mid-Level - [Rails-Formulare](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/rails-forms.md): 20 Fragen, Mid-Level - [Authentifizierung & Autorisierung](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/authentication-authorization.md): 22 Fragen, Mid-Level - [Moderne Asset Pipeline & Frontend](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/rails-asset-pipeline.md): 18 Fragen, Mid-Level - [Rails API-Modus](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/rails-api-mode.md): 20 Fragen, Mid-Level - [Testen mit RSpec](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/rails-testing-rspec.md): 24 Fragen, Mid-Level - [ActiveJob & Background Jobs](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/active-job-background-jobs.md): 20 Fragen, Mid-Level - [ActionCable & WebSockets](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/action-cable-websockets.md): 18 Fragen, Mid-Level - [ActionMailer](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/action-mailer.md): 18 Fragen, Mid-Level - [ActiveStorage](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/active-storage.md): 20 Fragen, Mid-Level - [Caching-Strategien](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/caching-strategies.md): 20 Fragen, Mid-Level - [Fortgeschrittene Migrationen](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/database-migrations-advanced.md): 20 Fragen, Mid-Level - [Rails Engines & modulare Apps](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/rails-engines-modular-apps.md): 18 Fragen, Senior - [Performance-Optimierung](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/performance-optimization.md): 26 Fragen, Senior - [Rails Design Patterns](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/rails-design-patterns.md): 22 Fragen, Senior - [Ruby-Metaprogrammierung](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/ruby-metaprogramming.md): 20 Fragen, Senior - [Rails-Sicherheit](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/rails-security.md): 22 Fragen, Senior - [GraphQL mit Rails](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/graphql-rails.md): 20 Fragen, Senior - [Deployment & Produktion](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/rails-deployment-production.md): 20 Fragen, Senior - [Monitoring & Logging](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/monitoring-logging.md): 20 Fragen, Senior - [Rails-Upgrade-Strategien](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/rails-upgrade-strategies.md): 18 Fragen, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/ruby-oop