# Onomatopoeettinen alkoholiliike # Esimerkki olio-ohjelmoinnista ja luokkien periytymisestä ;) # © Renne Nissinen, 18.3.2002 def laulu # laulu alkaa! print "\n", "ONOMATOPOEETTINEN ALKOHOLILIIKE", "\n\n" Kana.new.kuinkasanoo("Cabana") Karhu.new.kuinkasanoo("Karhu") Gorilla.new.kuinkasanoo("Carillo") print "\nKetulla on krapula, niin myös madolla.\n" print "Kaikki ne voit tavata Alkon jonossa!\n" Kirahvi.new.kuinkasanoo("Kahvi - likööri") print "\nSiili käyttää aineita, niin myös etana.\n" print "Heitä et voi tavata Alkon jonossa!\n" Kiiski.new.kuinkasanoo("Whisky") Siittio.new.kuinkasanoo("I love you") end # eläinten yliluokka class Elucka def initialize @nimi = self.type.to_s.downcase # elukan nimi (luokan nimestä) end def kuinkasanoo(teksti) isonimi = @nimi.capitalize t = "\n" + "#{isonimi} sanoo #{sano}, #{sano}\n"*2 t += "Kuinka #@nimi sanoo, kuinka #@nimi sanoo,\n" t += "kuinka #@nimi sanoo #{teksti}?\n" t += "#{isonimi} sanoo #{sano}, #{sano}\n" print t end end # eläinluokat class Kana < Elucka def sano "kot kot kot" end end class Karhu < Elucka def sano "mur mur mur" end end class Gorilla < Elucka def kuinkasanoo(teksti) print "\nGorilla sanoo yääärrauhrhha\n", "Gorilla sanoo yhhrräähh rhähhrrääh\n", "Kuinka gorilla sanoo, kuinka gorilla sanoo,\n", "kuinka gorilla sanoo #{teksti}?\n", "Gorilla sanoo öährrh - Bundolo!\n" end end class Kirahvi < Elucka def sano "öri öri öri" end end class Kiiski < Elucka def sano "... ..." end def kuinkasanoo(teksti) super(teksti) print "... ..., ... ...\n" end end class Siittio < Elucka def initialize @nimi = "siittiö" end def sano "ptlqm" end def kuinkasanoo(teksti) super(teksti) print "ptlqm ptlqm, ptlqm ptlqm, ptl ptl, qm, ptlqm ptlqm...\n" end end # suoritus alkaa tästä laulu() # uloste: =begin ONOMATOPOEETTINEN ALKOHOLILIIKE Kana sanoo kot kot kot, kot kot kot Kana sanoo kot kot kot, kot kot kot Kuinka kana sanoo, kuinka kana sanoo, kuinka kana sanoo Cabana? Kana sanoo kot kot kot, kot kot kot Karhu sanoo mur mur mur, mur mur mur Karhu sanoo mur mur mur, mur mur mur Kuinka karhu sanoo, kuinka karhu sanoo, kuinka karhu sanoo Karhu? Karhu sanoo mur mur mur, mur mur mur Gorilla sanoo yääärrauhrhha Gorilla sanoo yhhrräähh rhähhrrääh Kuinka gorilla sanoo, kuinka gorilla sanoo, kuinka gorilla sanoo Carillo? Gorilla sanoo öährrh - Bundolo! Ketulla on krapula, niin myös madolla. Kaikki ne voit tavata Alkon jonossa! Kirahvi sanoo öri öri öri, öri öri öri Kirahvi sanoo öri öri öri, öri öri öri Kuinka kirahvi sanoo, kuinka kirahvi sanoo, kuinka kirahvi sanoo Kahvi - likööri? Kirahvi sanoo öri öri öri, öri öri öri Siili käyttää aineita, niin myös etana. Heitä et voi tavata Alkon jonossa! Kiiski sanoo ... ..., ... ... Kiiski sanoo ... ..., ... ... Kuinka kiiski sanoo, kuinka kiiski sanoo, kuinka kiiski sanoo Whisky? Kiiski sanoo ... ..., ... ... ... ..., ... ... Siittiö sanoo ptlqm, ptlqm Siittiö sanoo ptlqm, ptlqm Kuinka siittiö sanoo, kuinka siittiö sanoo, kuinka siittiö sanoo I love you? Siittiö sanoo ptlqm, ptlqm ptlqm ptlqm, ptlqm ptlqm, ptl ptl, qm, ptlqm ptlqm... =end