is-Logo Ampelanlage
Implementation TLampe

S. Spolwig
 

[Home | Unterrichtssequenzen]
Startseite

Ziele:
Eigene Klasse schreiben

Informationen
zur Vertiefung

Da in OOP die Objekte Botschaften mit anderen austauschen, müssen diese natürlich schon existieren.  Wenn also TAmpel funktionieren soll, muß TLampe schon fertig sein. Deshalb programmiert man von unten hoch (bottom up).

Klasse TLampe implementieren  
TLampe
Im Gegensatz zur Fensterklasse, wo die GUI-Objekte und ihre Methoden automatisch erzeugt werden, sind in den Fachklassen die Datenobjekte manuell zu codieren. Die gesamte Klassen-Unit ist vollständig mit dem Editor zu schreiben.

Dazu sind folgende Schritte erforderlich:

  1.  
Neue Unit hinzufügen  
1. Projekt Ampel öffnen Symbolleiste-Projekt öffnen
2. Neue Unit hinzufügen Datei-Neu Unit-Doppelklick
3. Unit1 unter richtigem Namen speichern Datei-Speichern unter ... uLampe.pas
(dabei wird der Unitname autom. angepasst)
4. Prüfen auf richtigen Namen und Ort Ansicht-Projektverwaltung
  1. Schreiben Sie den Code für die Unit uLampe.pas!
    Zur Kontrolle ist der Text unten abgedruckt.
     

  2. Kompilieren Sie das Programm bis es fehlerfrei läuft. Es wird dann zwar immer noch nicht ganz funktionsfähig sein, aber bald ist es soweit!!!... 

 MERKE:   Jede Klasse wird eine Unit!

 

UNIT uLampe;
(* ******************************************************************** *)
(* K L A S S E : TLampe                                                 *)
(* -------------------------------------------------------------------- *)
(* Version     : 0.9                                                    *)
(* Autor       : S. Spolwig                                             *)
(* Beschreibung: Die Klasse bildet eine Lampe für beliebige Anwendungen *)
(*               ab.                                                    *)
(* Compiler    : Delphi 5.0                                             *)
(* Aenderungen : 0.9    11-MAY-01                                       *)
(* ******************************************************************** *)


INTERFACE
// ======================================================================
uses uGrafik;   // importiert TKreis

type
  TLampe   = class(TKreis)
   public
    constructor Create;
    procedure Ein;
    procedure Aus;
  end;

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

Oberklasse     : TKreis
Bezugsklassen  : -

Methoden
--------
Create
  Auftrag: erzeugen und Radius festlegen
  vorher : -
  nachher: done

Ein
  Auftrag: Lampe einschalten
  vorher : -
  nachher: Zeigen in der jeweils gesetzten Farbe

Aus
  Auftrag: Lampe ausschalten
  vorher : -
  nachher: leuchtet nicht
---------------------------------------------------------------------- *)


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

constructor TLampe.Create;
// --------------------------------------------------------------------
begin
  inherited Create;  // erstmal den geerbten Kreis erzeugen
  SetRadius(10);
end;

procedure TLampe.Ein;
// --------------------------------------------------------------------
begin
  Zeigen;  
end;

procedure TLampe.Aus;
// --------------------------------------------------------------------
begin
  Loeschen; // leuchtet nicht
end;

END.

 

 

 

s. Vorlage

 

 

 

s. Hinweis zur
Implementation
!

 


©  05. Oktober 2008    Siegfried Spolwig