echo $begrüßung;
serialize() kann mit den Typen integer, double, string, array (mehrdimensional) und object umgehen. Beim Objekt werden die Eigenschaften serialisiert, die Methoden gehen aber verloren.
Es werden nur die Werte der Eingenschaften in den serialisierten String übernommen, nicht der komplette Quelltext, der die Deklaration der Methoden enthält, oder irgendwelcher Byte-Code, den der Compiler erzeugt haben mag.
Aus einem Haus werden quasi nur die Bewohner evakuiert. Will man sie an anderer Stelle wieder in ein gleiches Haus setzen, muss man es kopieren und an der anderen Stelle zur Verfügung stellen. (Der Vergleich ist aus OOP-Sicht nicht ganz korrekt, aber sei's drum.)
Sollte das ganze damit gestorben sein?
Nein, du musst einfach nur die Klassendeklaration vor dem Unserialisieren inkludieren oder in den Quelltext kopieren oder anderweitig bekanntgeben. Steht die Klassendeklaration nicht zur Verfügung wird ein Ersatzobjekt angelegt, das dann nur die Eigenschaften enthält. Die Bewohner des Hauses bekommen in dem Fall nur ein Zelt ohne weitere Ausstattung. Natürlich quengeln sie dann rum, wenn sie ihren Bedürfnissen nachgehen wollen und kein passendes Örtchen finden.
echo "$verabschiedung $name";