Ik heb in Delphi een reeks datastructuren die heel veel gemeenschappelijk hebben met waar ik niet direct een gemeenschappelijke en efficiente objectstructuur kan op plakken.
Ik heb bijvoorbeeld (onvolledig, het is het idee dat telt)
De procedures AddData zetten dan een nieuw element in de array en verhogen FCount.
Ik heb nu zo heel veel van dergelijke structuren, telkens met een andere set van variabelen. Ik kan ze allemaal afzonderlijk implementeren geen probleem, maar ik heb toch zo'n gevoel dat er iets doordachter te werk kan gegaan worden. Overerving met override van AddData lijkt me omslachtig omdat ik voor elke structuur een ander aantal parameters wil ingeven. Snelheid is ook belangrijk daarom wil ik arrays gebruiken. Iemand een idee?
Ik heb bijvoorbeeld (onvolledig, het is het idee dat telt)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
| DataRecA = record
NR: Integer;
XN,YN,DXN,DYN: Real;
XT,YT,DXT,DYT: Real;
DEV: Real;
P, K: Integer;
end;
DataRecB = record
NR: Integer;
XN,YN: Real;
THETA,X,Y,Z: Real;
P: Integer;
end;
TDataContainerA = class
protected
FData: array[0..MAXDATACOUNT] of DataRecA;
FCount: Integer;
public
procedure AddData(NR: Integer; const XN,YN,DXN,DYN,XT,YT,DXT,DYT,DEV: Real; P, K: Integer);
end;
TDataContainerB = class
protected
FData: array[0..MAXDATACOUNT] of DataRecB;
FCount: Integer;
public
procedure AddData(NR: Integer; const XN,YN,THETA,X,Y,Z: Real; P: Integer);
end; |
De procedures AddData zetten dan een nieuw element in de array en verhogen FCount.
Ik heb nu zo heel veel van dergelijke structuren, telkens met een andere set van variabelen. Ik kan ze allemaal afzonderlijk implementeren geen probleem, maar ik heb toch zo'n gevoel dat er iets doordachter te werk kan gegaan worden. Overerving met override van AddData lijkt me omslachtig omdat ik voor elke structuur een ander aantal parameters wil ingeven. Snelheid is ook belangrijk daarom wil ik arrays gebruiken. Iemand een idee?