Thema: Delphi Objektvergleich

Einzelnen Beitrag anzeigen

choose

Registriert seit: 2. Nov 2003
Ort: Bei Kiel, SH
729 Beiträge
 
Delphi 2006 Architect
 
#5

Re: Objektvergleich

  Alt 29. Dez 2004, 12:43
Hallo mytar,

i.A. wird Dein Ansatz mit CompareMem nicht funktionieren und entspricht darüber hinaus auch nicht dem Paradigma des OO: Ein Objekt ist bestimmt Durch seine Struktur (hier: Klasse), sein Verhalten (hier: Kombination aus Attributen und Klasse) sowie dessen einzigartiger Identität (niemals identisch bei verschieden Objekten).

Weil Du von Objekten identischer Klassen ausgehst (was in sich schon ein zweifelhafter Ansatz ist und zugunsten eines, der von identischen Typen ausgeht, aufgegeben werden sollte vgl. Booch) scheinst Du lediglich die gleichheit der Attribute überprüfen zu müssen. Während aber Attribute gleich sein können, obgleich sie eine unterschiedliche Identiät aufweisen (siehe Objekte selbst, aber auch in Delphi als Referenzen implementierte Datentypen wie Strings) und ein vergleich über deren Speichersignatur bzw Referenz bereits fehlschlegt, kann es darüber hinaus auch sein, dass sich die Implementierung einer Klasse auf Attribute stützt, die "nach Außen" keine Bedeutung haben (z.B. ein Referenzzähler bei Objekten, die Interfaces unterstützen).
Gerade letzterer Punkt sollte zeigen, dass Du von der Implementierung durch den Compiler abstrahieren solltest und stattdessen einen Ansatz über Reflektion (RTTI) oder Delegation (siehe Implementierungen von Assign btw AssignTo) wählen solltest...
gruß, choose
  Mit Zitat antworten Zitat