Wenn ich das Objekt auf unterschiedliche Art und Weise initialisiere (denn das ist es ja eigentlich, was die einzelnen Konstruktoren tun), dann könnte ich mir eine 'Initialize' - Methode vorstellen, die dann überladen ist.
Wenn ich Objekte mit einem Konstruktor initialisiere, stelle ich damit sicher, dass die privaten Felder nur auf die Weise geändert werden, die die Klasse vorgibt. Wenn ich eine Initialize-Methode veröffentliche, habe ich das Risiko, dass die eben nicht nur unmittelbar nach dem Erzeugen des Objekts aufgerufen wird, sondern auch danach noch.