is-Logo Ampelanlage
TAmpel -Spezifikation

S. Spolwig
 

[Home | Unterrichtssequenzen]
Startseite

Ziele:
Spezifizieren des Entwurfs - objektorientiertes Design (OOD)

Informationen
zur Vertiefung

 

Der OOA-Entwurf wird nun in ein präziseres OOD-Modell überführt.

Das von TObject geerbte Create wird überschrieben, weil Lampen und Kasten mit-erzeugt werden.

SetPosition und Zeigen
werden für die Bildschirmaus-gabe benötigt.

 




     ===>  

 

Spezifikation

UNIT uAmpel;
(* ******************************************************************** *)
(* K L A S S E : TAmpel                                                 *)
(* -------------------------------------------------------------------- *)
(* Version     : 1.0                                                    *)
(* Autor       : S. Spolwig                                             *)
(* Beschreibung: Die Klasse bildet eine dumme Ampel mit diskreten       *)
(*		 Lampen ab.                                             *)
(* Compiler    : Delphi 5.0                                             *)
(* Aenderungen : 0.9	11-MAY-01                                       *)
(* ******************************************************************** *)

INTERFACE
// =======================================================================
uses uLampe,
     uGrafik;
type
  TAmpel = class(TObject)
   private
    Kasten      : TRechteck;
    RoteLampe,
    GelbeLampe,
    GrueneLampe : TLampe;
    XPosition,
    YPosition   : integer;    // wo sie steht
   public
    constructor Create;       // herstellen
    procedure Init;
    procedure Rot;            // Zustand
    procedure Gelb;
    procedure Gruen;
    procedure Abschalten;

    procedure SetPosition(xp, yp: integer);
    procedure Zeigen;
   
  end;
(* -------------------- B e s c h r e i b u n g -------------------------

Oberklasse     : -
Bezugsklassen  : TRechteck, TLampe

Methoden
--------
Init
  Auftrag: gesamte Ampel erzeugen mit Lampen
  vorher : TLampe existiert
  nachher: Kasten und Lampen erzeugt

Init
  Auftrag: den Lampen Fuellfarbe rot, gelb, gruen zuweisen
  vorher : -
  nachher: done

Rot
  Auftrag: auf ROT schalten
  vorher : -
  nacher : ROT, aus, aus.

Gelb
  Auftrag: auf GELB schalten
  vorher : -
  nacher : GELB, aus, aus.

Gruen
  Auftrag: auf GRUEN schalten
  vorher : -
  nacher : GRUEN, aus, aus.
Abschalten
  Auftrag: alle Lampen aus
  vorher : -
  nachher: alle Lampen sind dunkel

SetPosition(xp, yp: integer);
  Auftrag: Position auf dem Zeichenblatt übergeben
  vorher : -
  nachher: done

Zeigen
  Auftrag: Ampel auf dem Zeichenblatt anzeigen im jeweiligen Zustand
  vorher : -
  nachher: done
----------------------------------------------------------------------- *)

      

 


©  05. Oktober 2008    Siegfried Spolwig