AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Ähnliche Funktionen von Klassen - Implementierung?
Thema durchsuchen
Ansicht
Themen-Optionen

Ähnliche Funktionen von Klassen - Implementierung?

Ein Thema von scrat1979 · begonnen am 15. Jul 2010 · letzter Beitrag vom 15. Jul 2010
 
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#4

AW: Ähnliche Funktionen von Klassen - Implementierung?

  Alt 15. Jul 2010, 16:53
Ich verstehe nicht ganz, wieso es 3 Felder für die Farbe gibt - wieso reicht nicht eines?

Was den redundanten Code angeht: Du kannst das ganze ja in etwa so machen:
Delphi-Quellcode:
TBasisKlasse = class
protected
  function GetFieldName: string; virtual; abstract;
public
  procedure DoSomething;
end;

TKlasse 1 = class(TBasisKlasse)
protected
  function GetFieldName: string; override;
end;

TKlasse 2 = class(TBasisKlasse)
protected
  function GetFieldName: string; override;
end;

procedure TBasisKlasse.DoSomething;
begin
  { viel code ... }
  FQuery.SQL.Text := 'UPDATE xyz SET '+GetFieldName+'=123 WHERE id=3';
  {viel code ... }
end;

function TKlasse1.GetFieldName: string;
begin
  Result := 'Klasse1Farbe';
end;

function TKlasse2.GetFieldName: string;
begin
  Result := 'Klasse2Farbe';
end;
Alternativ kann man natürlich auch den jeweiligen Namen im Konstruktor in einem Feld speichern. Bei komplexeren Sachen bitet sich die obere Methode aber an. Ich glaube es gibt auch einen Namen für dieses Pattern, aber das will mir jetzt nicht einfallen...

Aber wie gesagt erschließt sich mir in deinem Fall der Sinn nicht ganz.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz