/* 1999-2003, Rony G. Flatscher, Wirtschaftsuniversitaet Wien, Austria, Europe
   A *possible* solution to excercise: 7+8 (2)
*/

::CLASS  Euro   PUBLIC

::METHOD INIT
  EXPOSE Bezeichnung Land Umrechnungskurs Waehrung
  USE ARG Waehrung, Land, Bezeichnung, Umrechnungskurs
  self~INIT:super               /* let superclasses initialize too ...  */
  IF ARG(5, "E") THEN self~Betrag = ARG(5)      /* 5th argument?        */
                 ELSE self~Betrag = 0

::METHOD Betrag                 /* return present value */
  EXPOSE Betrag
  RETURN Betrag

::METHOD "BETRAG="
  EXPOSE Betrag Euro_Betrag Umrechnungskurs
  USE ARG Betrag
  Euro_Betrag = Betrag / Umrechnungskurs

::METHOD Bezeichnung            /* return present value */
  EXPOSE Bezeichnung
  RETURN Bezeichnung

::METHOD Euro_Betrag            /* return present value */
  EXPOSE Euro_Betrag
  RETURN Euro_Betrag

::METHOD "EURO_BETRAG="
  EXPOSE Betrag Euro_Betrag Umrechnungskurs
  USE ARG Euro_Betrag
  Betrag = Euro_Betrag * Umrechnungskurs

::METHOD Land                   /* return present value */
  EXPOSE Land
  RETURN Land

::METHOD Umrechnungskurs        /* return present value */
  EXPOSE Umrechnungskurs
  RETURN Umrechnungskurs

::METHOD Waehrung               /* return present value */
  EXPOSE Waehrung
  RETURN Waehrung