
Objektorientierte Programmierung in Ruby
Klassen, Module, Vererbung, Mixins, attr_accessor, self, grundlegende Metaprogrammierung
1Wie definiert man eine Klasse in Ruby?
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.
2Welche Rolle spielt die initialize-Methode in Ruby?
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.
3Was ist der Unterschied zwischen attr_reader, attr_writer und attr_accessor?
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.
Wie funktioniert die Klassenvererbung in Ruby?
Was ist der Unterschied zwischen einem Module und einer Klasse in Ruby?
+17 Interview-Fragen
Weitere Ruby on Rails-Interviewthemen
Ruby-Grundlagen
Rails-Grundlagen
Routing & Controllers
ActiveRecord-Grundlagen
Views & ERB-Templates
ActiveRecord-Assoziationen
Fortgeschrittene ActiveRecord-Abfragen
Rails-Formulare
Authentifizierung & Autorisierung
Moderne Asset Pipeline & Frontend
Rails API-Modus
Testen mit RSpec
ActiveJob & Background Jobs
ActionCable & WebSockets
ActionMailer
ActiveStorage
Caching-Strategien
Fortgeschrittene Migrationen
Rails Engines & modulare Apps
Performance-Optimierung
Rails Design Patterns
Ruby-Metaprogrammierung
Rails-Sicherheit
GraphQL mit Rails
Deployment & Produktion
Monitoring & Logging
Rails-Upgrade-Strategien
Meistere Ruby on Rails für dein nächstes Interview
Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.
Kostenlos starten