Einzelnen Beitrag anzeigen

Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#9

AW: wie verschiedene Objekttypen sinnvoll speichern?

  Alt 3. Nov 2012, 12:39
Diese "tanken"-Methode ist schon in der Basisklasse kaputt.
Beim Tanken gibt es zwei wichtige Parameter: die Menge und die Art des Sprits.
Delphi-Quellcode:
TSpritSorte = (sDefault{=Spritsorte die ein Fahrzeug normalerweise benötigt},
   sBenzin, sDieselPkw, sSuperE5, sSuperE10);
TFahrzeug=Class
  procedure tanken(liter:Currency; sorte:TSpritSorte); virtual;
End;
Wenn man Klassen ableitet, dann darf man nicht die Signatur von virtuellen Methoden in abgeleiteten Klassen ändern.
Man muss virtuelle Methoden so anlegen, dass sie immer passen.

Falls es trotzdem klemmt liegt das daran, das ein Fahrzeug nicht zwingend betankt werden muss.
Ein Fahrrad ist z.B. auch ein Fahrzeug; braucht aber keinen Sprit.
Beim LKW ist das Nachfüllen von Harnstoff (AdBlue) eher ein Wartungsvorgang als ein Tankvorgang (so wie man Motoröl und Wischwasser nachfüllt).

siehe auch: Kreis-Ellipse-Problem

Geändert von sx2008 ( 3. Nov 2012 um 12:46 Uhr)
  Mit Zitat antworten Zitat