Delphi-PRAXiS
Seite 2 von 6     12 34     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Vorteile von Records gegenüber Objekten (https://www.delphipraxis.net/160299-vorteile-von-records-gegenueber-objekten.html)

WladiD 6. Mai 2011 11:10

AW: Vorteile von Records gegenüber Objekten
 
Zitat:

Zitat von s.h.a.r.k (Beitrag 1099280)
@WladiD: Wobei das kein Grund für ein record sein muss, da du bei dem was du geschrieben hast auch class nutzen könntest, wobei du dir dann halt die Methoden von TObject einfängst! Habe mich da neulich mal aufklären lassen :stupid: Eigentlich ist ein Record ja eine Datenstruktur, zumindest ist er dafür gedacht. Und das, was du machst und ich gemacht habe, ist quasi eine Vergewaltigung :mrgreen:

Von Müssen kann natürlich keine Rede sein. Es ist nur eine Möglichkeit und zwar eine, die (höchstwahrscheinlich) "leichteren" Maschinencode erzeugt. Eine class leitet sich ja stets von TObject ab (egal ob da nur klassenstatische Methoden sind oder nicht), also fällt irgendwo Verwaltungsoverhead für die Hierarchien an.

s.h.a.r.k 6. Mai 2011 11:13

AW: Vorteile von Records gegenüber Objekten
 
Zitat:

Zitat von Deep-Sea (Beitrag 1099290)
Ich kann deine negative Haltung nicht ganz nachvollziehen :gruebel:
Das ist fast wie die frage, was besser ist: Autos oder Flugzeuge. (Oder Äpfel und Birnen.) Je nach Anwendungszweck bietet sich nun mal entweder das eine oder das andere an.
Es gibt kein besser oder schlechter - nur geeignet und ungeeignet. Alles hat seine Daseinsberechtigung :wink:

Du hast die unglaubliche Philosophie von Programmierern vergessen :mrgreen: Ist halt immer so, die einen mögen es und die anderen würden die einen dafür, dass sie das verwendet haben, am liebsten verbrennen :stupid:

Luckie 6. Mai 2011 11:15

AW: Vorteile von Records gegenüber Objekten
 
Das ist keine negative Haltung. Ich habe nur das Stilmittel der Provokation in der Diskussion eingebracht. ;)

Aber bisher wurden nur Vorteile von Records genannt. Wobei ich den Beitrag von himitsu nicht so ganz verstanden habe.

himitsu 6. Mai 2011 11:15

AW: Vorteile von Records gegenüber Objekten
 
Record = direkter Speicherblock (da hier keine zusätzliche Speicherverwaltung nötig ist, wurden hier die Opertoren eingebaut)
Objekt = Zeiger auf Speicherblock (implizit mit Referenzen), wobei der Speicherblock quasi auch nur ein Record ist
Interface = Zeiger auf Speicherblock (verstecktes Objekt) mit Referenzzählung (OK, eigentlich ein Eintrittspunkt für mehrere Methoden, zur Interaceverwaltung)
Variant = Record
static Array = mehrere hintereinanderliegende Records (oder Typen) (PS: die RTTI verwaltet das Array genau so)
dynamic Array = Zeiger auf ein static Array, wo vor den Daten noch ein bissl Referenzzählung rumgammelt
String = ein
Delphi-Quellcode:
array of Char
mit ein paar Extras

Ansonsten können Alle davon Methoden enthalten und bis auf Letztere auch noch Klassenmethoden und Konstruktoren/Destruktoren.

Deep-Sea 6. Mai 2011 11:19

AW: Vorteile von Records gegenüber Objekten
 
Zitat:

Zitat von Luckie (Beitrag 1099294)
Aber bisher wurden nur Vorteile von Records genannt.

Wolltest du doch auch wissen, oder?! :wink:
Großer Nachteil von Records im Vergleich zu Objekten: Keine Vererbung.

WladiD 6. Mai 2011 11:22

AW: Vorteile von Records gegenüber Objekten
 
Nachteile?: Keine automatischen Konstruktoren (Kann auch als Vorteil gesehen werden)

himitsu 6. Mai 2011 11:23

AW: Vorteile von Records gegenüber Objekten
 
Zitat:

Zitat von Deep-Sea (Beitrag 1099297)
Großer Nachteil von Records im Vergleich zu Objekten: Keine Vererbung.

Und keine Referenzen/Referenzzählung ... wobei das auch ein Vorteil sein könnte.

Zitat:

Zitat von WladiD (Beitrag 1099299)
Nachteile?: Keine automatischen Konstruktoren (Kann auch als Vorteil gesehen werden)

Die hab ich vor Jahren schon bei Emba beantragt, es wäre ein Leichtes diese zu integrieren (hab denen sogar gesagt wie),
aber die hören ja nie auf mich.

s.h.a.r.k 6. Mai 2011 11:24

AW: Vorteile von Records gegenüber Objekten
 
Zitat:

Zitat von Luckie (Beitrag 1099294)
Das ist keine negative Haltung. Ich habe nur das Stilmittel der Provokation in der Diskussion eingebracht. ;)

Aber bisher wurden nur Vorteile von Records genannt. Wobei ich den Beitrag von himitsu nicht so ganz verstanden habe.

Ich glaube, es hatte sich da ein kleiner Fehler eingeschlichen, oder? :gruebel: (rot = meine Verbesserung)
Zitat:

Zitat von himitsu (Beitrag 1099287)
Nja der Hauptgrund für ObjekteRecords ist die automatische Speicherverwaltung.
Records werden automatisch initialisiert, kopiert und finalisiert. (jedenfalls bei entsprechenden enthaltenen Typen, bei welchen sowas gemacht wird, wie DynArrays, Strings und Interfaces)


Luckie 6. Mai 2011 11:28

AW: Vorteile von Records gegenüber Objekten
 
Darüber bin ich auch gestolpert. Na ja, ich wollte den Unterschied wissen, also eine Gegenüberstellung. Dazu gehören natürlich auch Vorteile von Objekten gegenüber Records.

s.h.a.r.k 6. Mai 2011 11:32

AW: Vorteile von Records gegenüber Objekten
 
Ich denke, dass wenn man simple Datenstrukturen hat und dazu Methoden programmieren will, dann kann man Records hier sehr gut verwenden. Vor allem wenn man generische Methoden schreiben will brauch man entweder einen Record oder eben eine Klasse. Normalen Proceduren/Funktionen kann man das ja leider nicht beibringen. Wenn es dann etwas mehr Logik + Vererbung + Kapselung brauch habe Klassen schon einige Vorteile. Wie heißt es immer so schön: kommt ganz drauf an :stupid:


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:09 Uhr.
Seite 2 von 6     12 34     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz