Forum: Algorithmen, Datenstrukturen und Klassendesign
by sx2008,
28. Okt 2013
Muss man nicht unbedingt wenn der Unterschied nur in der Schreibweise der Befehle liegt.
In der Basisklasse führst du eine virtuelle Funktion ein die eine Kennung in einen Befehl umsetzt:
const
QUERYSTATUS = 1;
RESETDEVICE = 2;
// usw.
function TMessgeraet.GetCommandString(commandid:Integer):string; // virtual, protected
begin
Forum: Algorithmen, Datenstrukturen und Klassendesign
by sx2008,
26. Okt 2013
Ich würde Datentransport und Datenaufbereitung strikt voreinander trennen.
Das bedeutet dass es eine Klasse für GPIB gibt die rein nur für den Datentransport zuständig ist
und eine weitere (Basis-)Klasse TMessGeraet die für die Aufbereitung der Daten verantwortlich ist.
Dabei benützt die Klasse TMessGeraet ihren Kollegen TGPIB. (Assoziation).
Es liegt also weder eine Vererbung vor noch...