Ein Objekt ist eine Datenstruktur mit einer wohldefinierten und nicht zur Laufzeit erweiterbaren Menge aus Eigenschaften und Methoden.
Das ist nicht nur falsch sondern stellt sogar die OOP in Frage. Warum sollte die Menge an Eigenschaften zur Laufzeit nicht erweiterbar sein!? Und warum sollte eine Instanz nicht um Methoden erweiterbar sein die zur Laufzeit bereitgestellt werden!?
Moderne Design'Patterns befassen sich genau mit dieser Frage und insbesondere damit wie man Instanzen zur Laufzeit verändert und der Art und Weise wie man einer Instanz zur Laufzeit Methoden und Eigenschaften hinzufügt.
MFG