Factory-Methoden in Ruby

Wie kann ein einzelner Konstruktor ein Objekt des entsprechenden Typs am schnellsten und am besten in Ruby zurückgeben?

Um genauer zu sein, hier ist ein Dummy-Beispiel: Angenommen, ich habe zwei KlassenBike undCar welche UnterklasseVehicle. Ich will das:

Vehicle.new('mountain bike')  # returns Bike.new('mountain bike')
Vehicle.new('ferrari')        # returns Car.new('ferrari')

Ich habe unten eine Lösung vorgeschlagen, die jedoch verwendet wirdallocate das scheint viel zu umsetzungsintensiv. Was sind einige andere Ansätze, oder ist meiner eigentlich in Ordnung?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage