is-Logo

PAT 01 -  V. 1.5
-   Aufgabe und Hinweise -

S. Spolwig

[Home | Unterrichtssequenzen]
[Startseite]

Page down

TFensterFrm mit den Klassen
TPatient, TAdresse, TPerson
verbinden 

In dieser Version kann ein Patient mit allen Attributen eingegeben und mit dem Suchen-Button angezeigt werden.



Typisch für OOP ist die Bottom Up - Vorgehensweise, bei der man von unten in der Klassenhierarchie mit der Implementation anfängt, um dann ein fertiges Modul beim nächsten verwenden zu können. Danach hätte sich die Reihenfolge: PERSON - ADRESSE - PATIENT - FENSTER ergeben. Damit hätten wir jedoch erst sehr spät etwas Funktionierendes gesehen.

Ebenso typisch für OOP ist das Zusammenbauen von neuen Applikationen aus schon fertigen Klassen (Konfigurieren), die in einer Bibliothek gesammelt sind. Wir können vorteilhaft die Klassen PERSON und ADRESSE, die von einem früheren Kurs erstellt wurden, benutzen und sparen somit viel Zeit. Die Dokumentationen von uAdresse und uPerson stehen im LAN unter Delphi.

Dazu sind folgende Schritte in dieser Reihenfolge erforderlich:

Eine Vererbung implementieren (PERSON - PATIENT)
Patient ist Unterklasse von Person, von der er alles erbt. Also ist in Patient zu implementieren:
  1. uses ... , uPerson;
  2. Vererbungsbeziehung einbauen: TPatient = class (TPerson)
  3. In Create und Init die gleichnamigen Methoden aus der Oberklasse geerbten Methoden hinzufügen mit dem Zusatz inherited, weil das geerbte Objekt ebenfalls initialisiert werden muss.


Eine Aggregation implementieren (PATIENT-ADRESSE )
Wenn eine Klasse die Dienste einer anderen nutzen will, dann wird die fremde Klasse mit mit uses ... zugreifbar gemacht. In PATIENT wird als neues Attribut Adresse als ein komplexes Komponentenobjekt eingebunden:
  1.  uses uAdresse zwischen INTERFACE und type einfügen
  2.  Neues Attribut: Adresse : TAdresse; über  private einfügen
  3.  in Create hinzufügen: Adresse := TAdresse.Create;    // Adresse ist ein Objekt (!), muss also mit erzeugt werden


Das ist alles! Damit hat Patient nun alle Attribute und Methoden von Person.

Datentransport in uFenster ergänzen.

  1. Vervollständigen Sie die Aktualisierungsmethoden DatenAktualisieren und MaskeAktualisieren:
    - Für die Adressdaten muss ein qualifizierter Bezeichner gewählt werden:
      z. B. pat.Adresse.SetStrasse(StrasseEdt.Text); usw.
    - die geerbten Personen-Attribute werden so behandelt als wären es Patienten-Attribute.
  2. Testen Sie alle Patienteneinträge!

-------------------- E N D E  D E R   E R S T E N   R U N D E -------------------



©    05. Oktober 2008    Siegfried Spolwig

page_top