Osa A: Luokat ja oliot
460 530 625
Lue ensin alla olevat tehtävät. Silmäile sitten PHP Trainer Kit -kirjasta luokkia ja olioita käsittelevä Oppitunti 8 ja pistä merkille tehtäviin liittyvät kohdat. Tee sitten tehtävät käyttäen kirjaa hyväksi.
Käy läpi tämän sivun lopussa oleva esimerkki - siinä on kuvattu olio-ohjelmoinnin peruskäsitteet!
Jätä tiedostot palvelimelle tarkistettavakseni!
<html> <head> <meta charset="utf-8"> <title>Olio-kokeilua</title> </head> <body> <?php class first_class {// Määritellään ominaisuudet (properties): var $name;// Määritellään metodit (methods): function first_class($n="Nimetön") {// Tämän metodin nimi on sama kuin luokan, // joten se suoritetaan aina, kun luodaan // tämän luokan mukainen uusi olio. // Tämän metodityyppiä sanotaan // muodostimeksi (constructor) $this->name = $n; } function sayHello() { print "Halloota, miun nimein on $this->name!<br>"; } }// Luodaan uusi luokka käyttämällä hyväksi // olemassa olevan luokan ominaisuuksia (properties) // ja metodeja (methods); tavallaan siis // kopioidaan luokkamäärittely: class second_class extends first_class {// Määritellään kantaluokassa (parent class) // first_class aiemmin määritelty metodi // toimimaan tässä luokassa eri tavalla: function sayHello() { print "En kerro nimeäin, lällää - eikun... ";// On kuitenkin mahdollista kutsua myös // kantaluokan metodia käyttämällä :: -operaattoria: first_class::sayHello(); } }// Luokkamäärittelyiden jälkeen alkaa "varsinainen" // ohjelma. Luodaan uusia luokkien (classes) mukaisia // olioita (objects) ja annetaan parametr(e)ina // muodostimen käyttämä(t) parametri(t): $obj1 = new first_class("Vilhelmi"); $obj2 = new second_class("Hippo");// Laitetaan luodut oliot töihin eli kutsutaan // niiden metodeja: $obj1->sayHello(); $obj2->sayHello();?> </body> </html>