Jetzt müsstest du nur noch erklären was dieser an den Haaren herbeigezogene Frickelkram* mit einer Factory zu tun haben soll, geschweige denn wie er in irgendeiner Art und Weise als Argument gegen Factories dienen soll. Irgendwie habe ich den Verdacht, du hast mal irgendwas von Reflection gehört, wie böse das doch ist, und seitdem ist alles, was über einfachste Konzepte hinausgeht, z.B. alle Entwurfsmuster, für dich "Reflection" und damit "Teufelswerk". Alles klar ...
* Warum Frickelkram? Weil solcher Code hat absolut nichts in den Domänenklassen zu suchen hat.
Neee... nix ist klar... Natürlich haben meine Klassen nichts mit Factorys zu tun - nur du & tfa redeten davon, während ich das von vorne herein in diesem Fall für völlig überzogen hielt, Entwurfsmuster sind mir durchaus geläufig, ebenso Reflection, wie man sieht. Teufelswerk ist beides nur dann, wenn man es an den falschen Stellen einsetzt. Man kann Schrauben auch durchaus mit 'nem Hammer versenken. Deswegen hast du zumindest mit dem Frickelkram schon mal recht.
Aber:
1. Wo definierst du eine Factory-Methode? Richtig! In der Urvater-Klasse, hier Fahrzeug.
2. Was müsstest du einer Factory-Methode übergeben, damit du eine Instanz der gewünschten Unterklasse mit den übergebenen Attributen bekommst? Wieder korrekt, einen winzig kleinen Hinweis auf die gewünschte Klasse und sei es nur der Name. Wie du sie innerhalb der Factory-Methode instanzierst ist ganz allein dein Problem.
3. Je nach Implementation musst du deine Factory-Methode möglicherweise überarbeiten, wenn weitere konkrete Fahrzeug-Ableger hinzugefügt werden. Obwohl Factory-Methoden eigentlich in der Lage sein sollten, auf solche Änderungen automatisch zu reagieren.
4. Ich hab' immer noch nicht das kleinste Beispiel, wie ihr es mit ner Factory-Methode lösen würdet.
Alles klar?