UNIT uTaschenlampe;
(* ******************************************************************** *)
(* K L A S S E : TTaschenlampe *)
(* -------------------------------------------------------------------- *)
(* Version : 2.0 *)
(* Autor : *)
(* Beschreibung: Die Klasse abstrahiert und modelliert eine gekapselte *)
(* Wegwerf-Taschenlampe *)
(* Compiler : Delphi 6.0 *)
(* Aenderungen : - *)
(* ******************************************************************** *)
INTERFACE
// =======================================================================
type
TTaschenlampe = class(TObject)
private
Lampe : boolean; // Elektriker-Deutsch für Glühbirne o. ä.
Batterie : Boolean;
Schalter : boolean;
public
constructor Create;
procedure Einschalten;
procedure Ausschalten;
function Leuchtet : boolean;
end;
(* -------------------- B e s c h r e i b u n g -------------------------
Oberklasse : -
Bezugsklassen : - import:
Methoden
--------
Create
Auftrag: Erzeugen initialisieren
vorher : -
nachher: Lampe, Batterie sind true, Schalter false
Einschalten
Auftrag: Schalter auf true
vorher : -
nachher: done
Ausschalten
Auftrag: Schalter auf false
vorher : -
nachher: done
Leuchtet : boolean;
Anfrage: ob die Taschenlampe 'brennt'
vorher :
nachher: leuchtet, wenn Lampe Licht gibt, Batterie OK und Schalter auf EIN
--------------------------------------------------------------------- *)
IMPLEMENTATION
// ====================================================================
constructor TTaschenlampe.Create;
// --------------------------------------------------------------------
begin
inherited Create;
Lampe := true; // drin und ok
Batterie := true; // drin und ok
Schalter := false // aus
end;
procedure TTaschenlampe.Einschalten;
// --------------------------------------------------------------------
begin
Schalter := true;
end;
procedure TTaschenlampe.Ausschalten;
// --------------------------------------------------------------------
begin
Schalter := false;
end;
function TTaschenlampe.Leuchtet : boolean;
// --------------------------------------------------------------------
begin
Result := (Lampe = true) AND (Batterie = true) AND (Schalter = true)
end;
END. // -------- UNIT -------------
|