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.