Zitat:
1.) Warum muss ich es nicht immer ausführen, wenn es doch "die Mutter aller Klassen" ist?
tempAuto := autoSammlung.GetAutoByName('Opel');
Gibt eine Referenz auf eine vorhandenes Objekt zurück. Deshalb ist der Konstruktoraufruf überflüssig, denn sonst hättest du ja eine leere Instanz zuviel.
Zitat:
2.) Warum überschreibe ich tempAuto hier? Ich dachte ich hätte über Create die Instanz erstellt und würde ihr in der zweiten Zeile einfach ein Objekt zuweisen.
Es handelt sich bei tempAuto um eine Referenz-Variable ( Zeiger)
Zitat:
3.) Warum kann ich das Objekt auf diese Weise nicht einfach freigeben?
Das Objekt wird ja vom Objekt autoSammlung verwaltet