Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: PHP: Onomatopoeettinen alkoholiliike

miiro [16.12.2005 13:43:37]

#

Hah, onhan tämä toki matkittu, mutta löysin eräiltä sivuilta luokkaesimerkkejä tällä laululla toteutettuna (PHP-toteutusta ei siis löytynyt).

Nyt myöhemmin katsottuna olisi tämän voinut kirjoittaa paljon selvemminkin, mutta skriptin lienee tarkoitus vain matkia näitä aiempia esimerkkejä.

edit 4.12.2007: kuvaus uusiksi & koodiin jotain viilausta

http://www.miiro.com/onomatopoeia.php

<?php
echo "<h1>Kontra: Onomatopoeettinen alkoholiliike</h1>"; // ulostetaan otsikko

// En kommentoi jotain juttuja, jos on samaa peräkkäin
class kana { // luokka (tai luokan nimi) on siis kana
    function sanoo () { // kana-uokan sisäinen funktio sanoo
        echo "kot kot kot"; // ja mitä tehdään kun kutsutaan funktiota
    } // lopetetaan funktio...
    function kuinkasanoo () { // toinen luokan sisäinen funktio jonka nimi on kuinkasanoo
       echo "kapana";
    }
}

class karhu { // En kommentoi muita funktioita samanlaisuuden takia, jos ei tullut jo selväksi
    function sanoo () {
           echo "mur mur mur";
       }
    function kuinkasanoo () {
       echo "KARHU!";
    }
}

class gorilla {
    function sanoo () {
        echo "yöäärghyöääää";
    }
    function kuinkasanoo () {
       echo "carillo";
    }
}

class kirahvi {
    function sanoo () {
        echo "öri öri öri";
    }
    function kuinkasanoo () {
       echo "kahvi - likööri";
    }
}

class kiiski {
    function sanoo () {
           echo "(plop) (plop) (plop) (plop)";
       }
    function kuinkasanoo () {
       echo "whisky";
    }
}

class siittio {
    function sanoo () {
           echo "blöbäGmm";
       }
    function kuinkasanoo () {
       echo "i love you!";
    }
}
// Eka säkeistö tjsp. - KANA
$kana = new kana(); // luokka kana on $kana
for ($i = 0; $i < 2; $i++) { // for-luuppi
    echo "kana sanoo "; // sanotaan jotain
    $kana->sanoo(); // $kanasta funktio sanoo
    echo ", "; // pilkku!
    $kana->sanoo();
    echo "<br>";
}
for ($i = 0; $i < 3; $i++) {
    echo "kuinka kana sanoo";
    if ($i == 2) { // if-lauseke
        echo " "; // tulostetaan taas...
        $kana->kuinkasanoo(); // $kanasta funktio kuinkasanoo
        echo "?<br>";
    } else {
        echo ", ";
    }
}
    echo "kana sanoo "; // Joo.
    $kana->sanoo();
    echo ", "; // pilkku...
    $kana->sanoo();
    echo "<br><br>";
// KARHU - Ei tämäkään kommentoitu...
$karhu = new karhu();
for ($i = 0; $i < 2; $i++) {
    echo "karhu sanoo ";
    $karhu->sanoo();
    echo ", ";
    $karhu->sanoo();
    echo "<br>";
}
for ($i = 0; $i < 3; $i++) {
    echo "kuinka karhu sanoo";
    if ($i == 2) {
        echo " ";
        $karhu->kuinkasanoo();
        echo "?<br>";
    } else {
        echo ", ";
    }
}
    echo "karhu sanoo ";
    $karhu->sanoo();
    echo ", ";
    $karhu->sanoo();
    echo "<br><br>";
// GORILLA
$gorilla = new gorilla();
for ($i = 0; $i < 2; $i++) {
    echo "gorilla sanoo ";
    $gorilla->sanoo();
    echo "<br>";
}
for ($i = 0; $i < 3; $i++) {
    echo "kuinka gorilla sanoo";
    if ($i == 2) {
        echo " ";
        $gorilla->kuinkasanoo();
        echo "?<br>";
    } else {
        echo ", ";
    }
}
    echo "gorilla sanoo ";
    $gorilla->sanoo();
    echo " bungolo!<br><br>";

// Echotaan tietoja.
echo "ketulla on krapula, niin myös madolla, kaikki ne voit tavata Alkon jonossa<br><br>";

// KIRAHVI
$kirahvi = new kirahvi();
for ($i = 0; $i < 2; $i++) {
    echo "kirahvi sanoo ";
    $kirahvi->sanoo();
    echo ", ";
    $kirahvi->sanoo();
    echo "<br>";
}
for ($i = 0; $i < 3; $i++) {
    echo "kuinka kirahvi sanoo";
    if ($i == 2) {
        echo " ";
        $kirahvi->kuinkasanoo();
        echo "?<br>";
    } else {
        echo ", ";
    }
}
    echo "kirahvi sanoo ";
    $kirahvi->sanoo();
    echo "<br><br>";

// Echotaan, keitä emme voi tavata Alkon jonossa :'(
echo "siili käyttää aineita, niin myös etana, heitä et voi tavata Alkon jonossa<br><br>";

// KIISKI
$kiiski = new kiiski();
for ($i = 0; $i < 2; $i++) {
    echo "kiiski sanoo ";
    $kiiski->sanoo();
    echo "<br>";
}
for ($i = 0; $i < 3; $i++) {
    echo "kuinka kiiski sanoo";
    if ($i == 2) {
        echo " ";
        $kiiski->kuinkasanoo();
        echo "?<br>";
    } else {
        echo ", ";
    }
}
    echo "kiiski sanoo ";
    $kiiski->sanoo();
    echo "<br><br>";

// SIITTIÖ
$siittio = new siittio();
for ($i = 0; $i < 2; $i++) {
    echo "siittiö sanoo ";
    $siittio->sanoo();
    echo ", ";
    $siittio->sanoo();
    echo "<br>";
}
for ($i = 0; $i < 3; $i++) {
    echo "kuinka siittiö sanoo";
    if ($i == 2) {
        echo " ";
        $siittio->kuinkasanoo();
        echo "?<br>";
    } else {
        echo ", ";
    }
}
for ($i = 0; $i < 4; $i++) {
    echo "<br>";
    $siittio->sanoo();
}
?>

ajv [17.12.2005 23:06:20]

#

Kommentointi on kyllä ihan hakusessa :) Ei itsestäänselvyyksiä tarvitse kommentoida. Kommentoinnin tulisi vastata ennemminkin kysymykseen miksi tehdään kuin mitä tehdään.

Muuten kyllä hauska vinkki :) Tosin olisin ehkä laittanut koko laulun toiminnallisuuksineen ennemmin yhteen luokkaan.

miiro [28.05.2006 15:52:27]

#

Totta, mutta tämän vinkin kuuluukin olla mahdollisimman selvä esimerkki luokkien käytöstä.

miiro [27.11.2006 14:47:53]

#

ajv: ja btw, jos katsot tätä koodia muille kielille, niin ne on toteutettu aika samalla tavalla...äh, nyt kyllä tein jonkun taivutusvirheen tjtn.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta