Moin,
Aber dann bitteschön nicht in den Konstruktor übergeben sondern im Konstruktor als Instanz erstellen und die Methoden welche die Instanz mibringt zu eigenen Methoden machen.
Der Sinn von OOP ist doch die Wiederverwendbarkeit. Wenn ich im Konstruktur erst die Instanz erzeuge, heißt das im Umkehrschluss, dass ich für jedes HTTP-Objekt ein Cookie-Objekt habe, also eine 1:1-Beziehung. Wenn ich aber nun ein Cookie-Objekt mit mehreren HTTP-Objekten teilen will, also 1:n, dann geht das mit deinem Ansatz nicht mehr.
Darüber kann man sich wohl sehr gut streiten, worauf ich keine Lust habe.
Es ist eine Frage der Zweckmäßigkeit. Eine Übergabe von Instanzen in den Konstruktor anderer Klassen hat sich immer wieder als problematisch erwiesen.
Um auf das Beispiel zurückzukommen: Der Konstruktor bekommt zwei Instanzen übergeben, eine vom Typ String, eine vom Typ HTTP::CookieJar. Was soll daran, insbesondere auch am ersten Parameter, problematisch sein? Verstehe ich dich richtig, dass Konstruktoren generell keine Parameter aufnehmen sollten?
Viele Grüße
Robert