OSZ Handel I
Informatik

Delphi - Unit
Muster für eine Modellklasse

S. Spolwig

[Home | Wirtschaftsgymnasium | Informatik | Unterrichtsmaterialien]

  • Diese Modellklasse soll in erster Linie eine Vorlage sein für eigenentwickelte Klassen. Insbesondere zeigt sie das Minimum für die integrierte Dokumentation, die sich in erster Linie dadurch auszeichnet, dass sie sprechende Bezeichner benutzt, die unmissverständlich ausdrücken, wofür sie stehen und was sie tun.

  • Für die Wahl der Bezeichner s. Sprachelemente in Delphi.

UNIT uPatient;

(* ****************************************************************** *)
(* K L A S S E : TPatient                                             *)
(* ------------------------------------------------------------------ *)
(* Version     : 1.3                                                  *)
(* Autor       : Molly Mustermann, OSZ-Handel I, 10997 Berlin         *)
(*                                                                    *)
(* Beschreibung: bildet das Objekt Patient ab.                        *)
(*                                                                    *)
(* Compiler    : DELPHI 3.0                                           *)
(* Aenderung   : V. 1.1  15-AUG-98                                    *)
(*                  1.2  04-SEP-98                                    *)
(*                  1.3  21-JUL-99 erbt von TPerson, Create statt Init*)
(* ****************************************************************** *)


INTERFACE
// ====================================================================

USES  Classes,   // import: TFilestream, read, write
      uPerson;

type
   TPatient = class (TPerson)
    private
     Geschlecht  : string[1];   // m,w
     Krankenkasse: string[25];
     Blutgruppe  : string[4];   // A,B,0,p+-

    public
     constructor Create;                     override;
     procedure Init;                         override;
     procedure SetGeschlecht (g : string);   virtual;
     procedure SetKrankenkasse (k : string); virtual;
     procedure SetBlutgruppe (b : string);   virtual;

     function GetGeschlecht  : string;       virtual;
     function GetKrankenkasse: string;       virtual;
     function GetBlutgruppe  : string;       virtual;

     procedure InDateiSchreiben (var Fs : TFilestream); override;
     procedure AusDateiLesen  (var Fs : TFilestream);   override;
   end;

(* -------------------- B e s c h r e i b u n g -------------------------

Oberklasse     : TPerson
Bezugsklassen  : TClasses - import: TFilestream, read,write


Methoden
--------

Create
  Auftrag: einen neuen Patienten erzeugen
  vorher : Person ist erzeugt
  nachher: ist vorhanden; alle Felder sind leer

Init
  Auftrag: Patienten mit Anfangswerten initialisieren
  vorher : ist vorhanden.
  nachher: alle Felder sind leer

Set...
  Auftrag: Attribut schreiben
  vorher : Patient ist vorhanden.
  nachher: Attribut ist gesetzt

Get...
  Auftrag: Attribut aus dem Objekt lesen
  vorher : Patient ist vorhanden.
  nachher: -

InDateiSchreiben (var fs : TFilestream)
  Auftrag: Attribute auf die Festplatte speichern
  vorher : fs ist geöffnet
  nachher: Attribute sind an fs uebergeben


AusDateiLesen (var fs : TFilestream)
  Auftrag: Attribute von der Festplatte laden
  vorher : fs ist geöffnet
  nachher: Attribute sind an Patient uebergeben
----------------------------------------------------------------------- *)

IMPLEMENTATION
// ====================================================================

constructor TPatient.Create;
// --------------------------------------------------------------------
begin
  inherited Create;  // was von TPerson kommt
  Init;
end;

 
procedure TPatient.Init;
// --------------------------------------------------------------------
begin
  inherited Init;
  Geschlecht   := '';
  Krankenkasse := '';
  Blutgruppe   := '';
end;


procedure TPatient.SetGeschlecht (g : string);
// --------------------------------------------------------------------
begin
  Geschlecht := g;
end;


procedure TPatient.SetKrankenkasse (k : string);
// --------------------------------------------------------------------
begin
  Krankenkasse := k;
end;


procedure TPatient.SetBlutgruppe (b : string);
// --------------------------------------------------------------------
begin
  Blutgruppe := b;
end;


function TPatient.GetGeschlecht : string;
// --------------------------------------------------------------------
  result := Geschlecht;
end;


function TPatient.GetKrankenkasse : string;
// --------------------------------------------------------------------
begin
  result := Krankenkasse;
end;


function TPatient.GetBlutgruppe : string;
// --------------------------------------------------------------------
begin
  result := Blutgruppe;
end;


procedure TPatient.InDateiSchreiben (var Fs : TFilestream);
// --------------------------------------------------------------------
begin
  inherited InDateiSchreiben(Fs);
  Fs.Write( Geschlecht, sizeof(Geschlecht));
  Fs.Write( Krankenkasse, sizeof(Krankenkasse));
  Fs.Write( Blutgruppe, sizeof(Blutgruppe));
end;


procedure TPatient.AusDateiLesen (var Fs : TFilestream) ;
// --------------------------------------------------------------------
begin
  inherited AusDateiLesen(Fs);
  Fs.Read( Geschlecht, sizeof(Geschlecht));
  Fs.Read( Krankenkasse, sizeof(Krankenkasse));
  Fs.Read( Blutgruppe, sizeof(Blutgruppe));
end;


END. // ================ uPatient =====================================


©    30. Mai 2005    Siegfried Spolwig

Seitenanfang