Einzelnen Beitrag anzeigen

Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#13

Re: Klasse oder Record auf sich selbst?

  Alt 18. Mär 2009, 01:30
Zitat von Cyf:
Naja beim erzeugen eines Objektes pasiert schon ein wenig mehr...
Ich kann mir nur ganz wenige Dinge (also Record oder Objekt) vorstellen, bei dem der Overhead der Klasse wirklich ins Gewicht fällt.
Das wären z.B. Koordinaten (x,y) oder komplexe Zahlen (realteil und imaginärteil).
Also Dinge, die einerseits sehr kleine Informationsmengen enthalten und andererseits in hohen Stückzahlen von 100000 oder noch mehr gebraucht werden.
Dann hat ein Record einen spürbaren Performancevorteil gegenüber einer Klassse.
Ein Beispiel wäre ein Partikelsystem, in dem sehr viele kleine Partikel im virtuellen Raum herumfliegen.
Oder Strings - in manchen Progsprachen ist jeder String ein Objekt.
Hier hat Delphi ja seinen eigenen Weg gewählt.

Wenn Beides aber nicht zutrifft (also geringe Datenmenge und sehr hohe Stückzahl), dann ist der Overhead eines Objekt praktisch nicht spürbar.
Dann kann die OOP ihre Trümpfe ausspielen und wer geschickt programmiert brauchst sich um die Leistung keine Sorgen machen.
Manchmal erreicht man mit OOP sogar mehr Leistung also ohne.
Der Grund dafür ist, dass man mit OOP bestimmte Algorithmen verwenden kann (Objektcache, Nullobjekte, Hashing-Verfahren) die man ohne OOP nicht verwenden könnte ohne das der Sourcecode zu einem unwartbaren Klumpen würde.
  Mit Zitat antworten Zitat