........................................................................................31 Ülesandeid.........................................................................................................................32 Objektorienteeritud programmeerimine....................................................................................33 Tutvustus...............................................................................................................................33 Klassimuutuja....................................................................................................................34 Osuti, omistamine............................................................................................................. 34 Punktimassiiv....................................................................................................................36 2 Ülesandeid..................
$this->y = 2;
$this->z = 3;
}
public function multiplyAll ($multiplier) {
$this->x *= $multiplier;
$this->y *= $multiplier;
$this->z *= $multiplier;
}
}
$a = new A();
echo 'variable x from object $a: '.$a->x;
$a->x = 10;
echo '
variable x from object $a: '.$a->x;
$a->multiplyAll(5);
echo '
variable x from object $a: '.$a->x;
?>
Juurdepääsu direktiivid
Kui klassimuutuja ligipääs on public - siis neid võib vabalt muuta ja väärtustada ka väljaspoolt klassi. Miks selline lähenemine võib halb
olla? Oletame, et meil on klass B ja selle muutuja x on public ligipääsuga. Kogu süsteemi koodis väärtustakse x muutujat otseselt
($b->x = mingi arv) ja väärtuseks võib olla nii täisarv kui ka murdarv. Nüüd mõni aja pärast otsustame, et klassi B muutuja x väärtus
3 5 */ Ülesandeid * Koosta klass riidelapi andmete hoidmiseks: pikkus, laius, toon * Lisa käsklus lapi andmete väljatrükiks * Lisa käsklus lapi pindala arvutamiseks * Lisa meetod (alamprogramm) lapi poolitamiseks: pikem külg tehakse poole lühemaks. * Poolitamise meetod lisaks algse lapi poolitamisele väljastab ka uue samasuguse algsest poole väiksema eksemplari. * Lisa teine poolitusmeetod, kus saab määrata, mitme protsendi peale lõigatakse pikem külg Klassimuutuja Klassi juurde korjatakse võimalusel kokku kõik vastavat tüüpi objektidega tehtavad toimingud ja andmed. Enamasti kuuluvad andmed isendite ehk eksemplaride juurde, kuid mitte alati. Näiteks tüüpiliselt - loodud punktide arvu loendur on küll punktidega sisuliselt seotud, kuid pole sugugi ühe konkreetse punkti omadus. Punktide arv on olemas ka juhul, kui ühtegi reaalset punkti eksemplari pole veel loodud. Sellisel juhul on punktide arv lihtsalt null.
3 5 */ Ülesandeid * Koosta klass riidelapi andmete hoidmiseks: pikkus, laius, toon * Lisa käsklus lapi andmete väljatrükiks * Lisa käsklus lapi pindala arvutamiseks * Lisa meetod (alamprogramm) lapi poolitamiseks: pikem külg tehakse poole lühemaks. * Poolitamise meetod lisaks algse lapi poolitamisele väljastab ka uue samasuguse algsest poole väiksema eksemplari. * Lisa teine poolitusmeetod, kus saab määrata, mitme protsendi peale lõigatakse pikem külg Klassimuutuja Klassi juurde korjatakse võimalusel kokku kõik vastavat tüüpi objektidega tehtavad toimingud ja andmed. Enamasti kuuluvad andmed isendite ehk eksemplaride juurde, kuid mitte alati. Näiteks tüüpiliselt - loodud punktide arvu loendur on küll punktidega sisuliselt seotud, kuid pole sugugi ühe konkreetse punkti omadus. Punktide arv on olemas ka juhul, kui ühtegi reaalset punkti eksemplari pole veel loodud. Sellisel juhul on punktide arv lihtsalt null