Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Record in Record? (https://www.delphipraxis.net/47343-record-record.html)

Speedmaster 9. Jun 2005 19:55

Re: Record in Record?
 
Nur weil man Records verwendet heisst es nicht das man nicht OOP Programmiert( Besonderst seit .net nicht ).
Aber dazu gab es einen Riesen Thread, also such mal im Forum!

P.s.: Records sind IMHO zur Strukturierung des Programms da!

r2c2 9. Jun 2005 20:05

Re: Record in Record?
 
Zitat:

Zitat von Speedmaster
Nur weil man Records verwendet heisst es nicht das man nicht OOP Programmiert( Besonderst seit .net nicht ).
Aber dazu gab es einen Riesen Thread, also such mal im Forum!

P.s.: Records sind IMHO zur Strukturierung des Programms da!

Klar, ich dachte nur, weil der Image.Canvas angesprochen hat...
Und das sind definitiv Klassen!

Robert_G 9. Jun 2005 20:11

Re: Record in Record?
 
Zitat:

Zitat von Speedmaster
P.s.: Records sind IMHO zur Strukturierung des Programms da!

Kannst du dazu ein konkretes Beispiel geben?
Mir fällt da gerade absolut nix ein, was mit Reference types (Klassen/Interfaces) nicht flexibler, einfacher und eleganter wäre... :gruebel:
Würde mich echt interessieren.

Speedmaster 9. Jun 2005 20:22

Re: Record in Record?
 
Delphi-Quellcode:
TVertex = Record
  Points: array[0..2] of record
    x,y,z: double;
  end;
  sPoints: array[0..2] of record
    x,y: single;
  end;
end;
Warum sollte ich das in Klassen stecken??

r2c2 9. Jun 2005 20:23

Re: Record in Record?
 
Zitat:

Zitat von Robert_G
Zitat:

Zitat von Speedmaster
P.s.: Records sind IMHO zur Strukturierung des Programms da!

Kannst du dazu ein konkretes Beispiel geben?
Mir fällt da gerade absolut nix ein, was mit Reference types (Klassen/Interfaces) nicht flexibler, einfacher und eleganter wäre... :gruebel:
Würde mich echt interessieren.

Man kann in ner Klasse seine Daten durch Records strukturieren. Nur um die Daten zusammenzufassen, braucht man nicht gleich ne neue Klasse. :wink:

mfg

Christian

Speedmaster 9. Jun 2005 20:26

Re: Record in Record?
 
Füge noch hinzu:

Ausserdem muss man diese Daten dann auch noch Initialisieren, das wäre unnötige Arbeit!

Dax 9. Jun 2005 20:28

Re: Record in Record?
 
Wenn du statt records Klassen nimmst, musst du deine Felder initialisieren? :shock: Das wär das erste was ich höre. Ein simples .Create() reicht.. Von Initialisieren seh ich da nix :gruebel:

Speedmaster 9. Jun 2005 20:38

Re: Record in Record?
 
Zitat:

Zitat von Dax
Wenn du statt records Klassen nimmst, musst du deine Felder initialisieren? :shock: Das wär das erste was ich höre. Ein simples .Create() reicht.. Von Initialisieren seh ich da nix :gruebel:

Mit Initalisieren meine ich .create, ist das irgendwie falsch? Vielleicht habe ich das ja falsch gelernt! :oops:

Dax 9. Jun 2005 20:39

Re: Record in Record?
 
.Create ist instanziieren, Speedy ;) Initialisieren wäre sowas wie
Delphi-Quellcode:
Self.x := 0;
Self.y := 0;
Self.z := 0;
....

Robert_G 9. Jun 2005 20:52

Re: Record in Record?
 
Das hier war wohl etwas großzügig ausgeholt...
Zitat:

Zitat von Speedmaster
P.s.: Records sind IMHO zur Strukturierung des Programms da!

Denn ich sehe hiert nix, was ein Programm strukturieren kann.
Zitat:

Zitat von Speedmaster
Delphi-Quellcode:
TVertex = Record
  Points: array[0..2] of record
    x,y,z: double;
  end;
  sPoints: array[0..2] of record
    x,y: single;
  end;
end;
Warum sollte ich das in Klassen stecken??

Ich sehe da keinerlei Strukturierung, keinerlei Hierarchie.... Wie willst du denn Zugriffe auf einzelne Koordinaten generalisieren?
Das da würde für alles eine eigene Funktion benötigen. Jeweils ein für 2d und eine für 2d) benötigen
Außerdem müsstest du ihnen ständig deinen Record als Parameter übergeben.
Eine Klasse könnte Methoden anbieten, du könntest einen 2-dimensionalen Punkt ableiten und eine weitere Dimension hinzufügen, ...
Sorry, aber ich hoffte eigentlich gerade ein Beispiel zu bekommen, das mir zeigt wo Records eine bessere Struktur ermöglichen.
Ich sehe absolut nichts was dadurch vereinfacht werden könnte... :gruebel:

Interessant wird jetzt ein anderer Aspekt...
Um zu verhindern, dass das Ding da oben ständig kopiert wird müsstest du einen PVertex verwenden.
Der wiederum braucht einen TVertex auf den er zeigen kann. Genau da denke ich mir doch, dass ein Constructor oder eine Factory so schön einfach sind. :zwinker:


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:02 Uhr.
Seite 2 von 3     12 3      

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