hier ein Auszug aus der
unit logic:
Delphi-Quellcode:
type
TKarten = class
private
FAnzahl: int32;
FAufrechnen: int32;
public
constructor create;
destructor Destroy;override;
procedure setAnzahl(a:Int32);virtual; abstract;
procedure Aufrechnen(Value:Int32);virtual;abstract;
function BerechnePreis: Currency;virtual; abstract;
property Preis: Currency read BerechnePreis;
property Anzahl: int32 read FAnzahl;
property Aufre: int32 read FAufrechnen write FAufrechnen;
end;
type
TKartenErste = class(TKarten)
private
FAnzahl1: int32;
public
constructor create;
destructor Destroy;override;
procedure SetAnzahl(a:Int32);override;
procedure aufrechnen(value: int32);override;
function BerechnePreis: Currency;override;
property Preis1: Currency read BerechnePreis ;
property Anzahl1: int32 read FAnzahl;
end;
type
TKartenZweite = class(TKarten)
private
FAnzahl2: int32;
public
constructor create;
destructor Destroy;override;
procedure SetAnzahl(a:Int32);override;
function BerechnePreis: Currency;override;
property Preis2: Currency read BerechnePreis ;
property Anzahl2: int32 read FAnzahl;
end;
implementation
{ TKartenErste }
procedure TKartenErste.aufrechnen(value: Int32);
begin
//hier weiss ich nicht weiter
end;
function TKartenErste.BerechnePreis: Currency;
begin
Result := 10 * FAnzahl1;
end;
constructor TKartenErste.create;
begin
inherited;
end;
destructor TKartenErste.Destroy;
begin
inherited;
end;
procedure TKartenErste.SetAnzahl(a: Int32);
begin
FAnzahl1:=a;
end;
{ TKartenZweite }
function TKartenZweite.BerechnePreis: Currency;
begin
Result := 15 * FAnzahl2;
end;
constructor TKartenZweite.create;
begin
inherited;
end;
destructor TKartenZweite.Destroy;
begin
inherited;
end;
procedure TKartenZweite.SetAnzahl(a: Int32);
begin
FAnzahl2:=a;
end;
{ TKarten }
constructor TKarten.create;
begin
inherited;
end;
destructor TKarten.Destroy;
begin
inherited;
end;
end.
und hier den Teil der Form, in der die Zusammenrechnung der Preise vorgenommen wird:
Delphi-Quellcode:
procedure TForm1.btnPreisaufgerechnetClick(Sender: TObject); //aufrechnen
begin
lblPreisaufgerechnet.caption:=floattostr(Karten1.Preis1+Karten2.Preis2)
end;
dies funktioniert auch. Doch sollte man das so machen? Das ist meine Frage