Einzelnen Beitrag anzeigen

norwegen60

Registriert seit: 23. Dez 2007
Ort: Schwarzwald
504 Beiträge
 
Delphi 12 Athens
 
#1

Gemischte Verwendung von Class und TRecord

  Alt 27. Okt 2017, 08:37
Hallo zusammen,

ich habe ein paar ältere Threads zu diesem Thema gefunden, wollte aber mal ein kurzes Feedback, ob sich hier etwas geändert hat.

Die Frage ist, was für/gegen eien gemischet Verwendung von Klassen und Records spricht. Hier die beiden Code-Varianten:

Delphi-Quellcode:
Type
  TPosition = record
    X, Y, Z: Integer;
  end;

  TTest = class
  private
    FNr: Integer;
    FName: String;
    FPosition: TPosition;
    procedure SetNr(iNumber: Integer);
  public
    property Nr: Integer read FNr write SetNr;
    property Name: String read FName write FName;
    constructor Create;
    destructor Destroy; override;
  end;
oder die reine Klassen-Variante
Delphi-Quellcode:
Type
  TPosition = Class
    FX, FY, FZ: Integer;
  public
    property X: Integer read FX write FX;
    property Y: Integer read FY write FY;
    property Z: Integer read FZ write FZ;
    constructor Create;
    destructor Destroy; override;
  end;

  TTest = Class
  private
    FNr: Integer;
    FName: String;
    FPosition: TPosition;
    procedure SetNr(iNumber: Integer);
  public
    property Nr: Integer read FNr write SetNr;
    property Name: String read FName write FName;
    constructor Create;
    destructor Destroy; override;
  end;
Ich sehe in der zweiten Variante zunächst vor allem den Mehraufwand
  • in der Deklaration
  • dass ich auch für TPosition zusätzlich Create/Destroy aufrufen muss
Vorteile sehe ich eigentlich nicht.

TTest steht nicht zur Diskusion. Hier habe ich in obigem Code nur einen Bruchteil der Funktionalität dargestellt.

Danke für euer Feedback
Gerd
  Mit Zitat antworten Zitat