/* (c) 1999-2005, Rony G. Flatscher, Wirtschaftsuniversitaet Wien, Austria Europe A *possible* solution to excercise # 14 */ ::CLASS Euro PUBLIC ::METHOD INIT EXPOSE denotation country exchangeRate currency USE ARG currency, country, denotation, exchangeRate self~INIT:super /* let superclasses initialize too ... */ IF ARG(5, "E") THEN self~amount = ARG(5) /* 5th argument? */ ELSE self~amount = 0 ::METHOD amount /* return present value */ EXPOSE amount RETURN amount ::METHOD "amount=" EXPOSE amount euro_amount exchangeRate USE ARG amount euro_amount = amount/exchangeRate ::METHOD denotation /* return present value */ EXPOSE denotation RETURN denotation ::METHOD euro_amount /* return present value */ EXPOSE euro_amount RETURN euro_amount ::METHOD "euro_amount=" EXPOSE amount euro_amount exchangeRate USE ARG euro_amount amount = euro_amount*exchangeRate ::METHOD country /* return present value */ EXPOSE country RETURN country ::METHOD exchangeRate /* return present value */ EXPOSE exchangeRate RETURN exchangeRate ::METHOD currency /* return present value */ EXPOSE currency RETURN currency