home *** CD-ROM | disk | FTP | other *** search
-
- PROGRAM ObjektDemo;
- {Demonstration der Objekttechnik anhand geometrischer Formen}
-
- {$M+}
-
- TYPE Geo_Form = OBJECT
- Flaeche : Real;
- Hoehe : Real;
- Was : STRING;
- PROCEDURE Geo_Form.Init;
- PROCEDURE Geo_Form.Sag_was;
- FUNCTION Geo_Form.Ermittle_Flaeche:Real;
- END;
-
- Rechteck = OBJECT (Geo_Form)
- Laenge : Real;
- FUNCTION Rechteck.Ist_Quad : Boolean;
- PROCEDURE Rechteck.Init;OVERRIDE;
- FUNCTION Rechteck.Ermittle_Flaeche:Real;OVERRIDE;
- END;
-
- Kreis = OBJECT (Geo_Form)
- Radius : Real;
- PROCEDURE Kreis.Init;OVERRIDE;
- FUNCTION Kreis.Ermittle_Flaeche:Real;OVERRIDE;
- END;
-
- PROCEDURE Geo_Form.Init;
- BEGIN
- SELF.Flaeche := 0;
- SELF.Hoehe := 0;
- SELF.Was := 'Geometrische Form';
- END;
-
- PROCEDURE Geo_Form.Sag_Was;
- BEGIN
- WriteLn(SELF.Was);
- END;
-
- FUNCTION Geo_Form.Ermittle_Flaeche : Real;
- BEGIN
- SELF.Flaeche := SELF.Hoehe * SELF.Hoehe;
- Ermittle_Flaeche := SELF.Flaeche;
- END;
-
- PROCEDURE Kreis.Init;
- BEGIN
- INHERITED SELF.Init;
- SELF.Radius := 4.0;
- SELF.Was := 'Kreis'
- END;
-
- FUNCTION Kreis.Ermittle_Flaeche : Real;
- BEGIN
- SELF.Flaeche := ( Pi * Sqr (SELF.Radius) );
- Ermittle_Flaeche := SELF.Flaeche;
- END;
-
- PROCEDURE Rechteck.Init;
- BEGIN
- INHERITED SELF.Init;
- SELF.Hoehe := 5.0;
- SELF.Laenge := 5.0;
- SELF.Was := 'Rechteck';
- END;
-
- FUNCTION Rechteck.Ist_Quad : Boolean;
- BEGIN
- Ist_Quad := False;
- IF ( SELF.Laenge = SELF.Hoehe ) THEN
- Ist_Quad := True;
- END;
-
- FUNCTION Rechteck.Ermittle_Flaeche:Real;
- BEGIN
- SELF.Flaeche := SELF.Laenge * SELF.Hoehe;
- Ermittle_Flaeche := SELF.Flaeche;
- END;
-
- VAR
-
- Ein_Kreis : Kreis;
- Ein_Rechteck : Rechteck;
-
- BEGIN
- New ( Ein_Kreis );
- Ein_Kreis.Init;
- New ( Ein_Rechteck);
- Ein_Rechteck.Init;
-
- Ein_Kreis.Sag_Was;
- WriteLn ('Fläche: ', Ein_Kreis.Ermittle_Flaeche);
-
- WriteLn;
-
- Ein_Rechteck.Sag_Was;
- WriteLn ('Fläche: ', Ein_Rechteck.Ermittle_Flaeche);
- Ermittle.Faeche => Ermittle_Flaeche}
-
- Dispose (Ein_Kreis);
- Dispose (Ein_Rechteck);
- END.
-
-