p1 = .Lebensmittel~New("Milka", "Suesigkeiten", "1.20") p2 = .Lebensmittel~New("Snickers", "Suesigkeiten", "1.00") p3 = .Lebensmittel~New("Mars", "Suessigkeiten", "1.10") Say p1~Produkt p1~Preis p1~Kategorie Say p2~Produkt p2~Preis Say p3~Produkt p3~Preis s1=.Shopping~new~~"item="("butter")~~"amount="("1")~~"price="("1.5") s2=.Shopping~new~~"item="("milk���)~~"amount="("5")~~"price="("2") s3=.Shopping~new~~"item="("soap")~~"amount="("1")~~"price="("5") SAY s1~amount s1~item SAY s2~amount s2~item SAY s3~amount s3~item SAY "Total amount payable:" p1~amount*p1~price + p2~amount*p2~price + p3~amount*p3~price ::CLASS Shopping ::METHOD item ATTRIBUTE ::METHOD price ATTRIBUTE ::METHOD total EXPOSE price USE ARG amount price = price * amount s1=.Shopping~New s1~Item= "butter" s1~Price= 1.5 s2=.Shopping~new~~"item="("milk")~~"price="("2") s3=.Shopping~new~~"item="("soap")~~"price="("5") SAY s1~Item s1~Price SAY s2~Item s2~Price SAY s3~Item s3~Price SAY "Total amount payable:" s1~~total(1)~price + s2~~total(5)~price + s3~~total(3)~price /* destruktor*/ Say "Durchschnittspreis von allen Suesigkeiten:" p1~Preis/3 + p2~Preis/3 + p3~Preis/3 Drop p1; p4= .Lebensmittel~New("Rittersport", "Suesigkeiten", "1.50") Say p4~Produkt p4~~increaseprice(1.70)~Preis Say "Fertig" /*Say p1~Produkt w��rde nicht gehen p1 kann nicht gefunden werden wegen dem drop befehl */ ::Class Lebensmittel ::Method INIT Expose Produkt Kategorie Preis Name USE ARG Produkt, Kategorie, Preis, Name ::Attribute Name :: Method Uninit Expose Produkt Kategorie Preis Say "Destruktor : <"Produkt Kategorie Preis"> wurde zerstoert" ::Method Produkt Attribute ::Method Kategorie Attribute ::Method Preis Attribute ::Method increaseprice Expose Preis Use ARG increase Preis = Preis + increase