võib olla ainult täisarv - aga siis on vaja vaadata kogu kood üle ja lisada round() funktsiooni seal, kus x väärtuseks pannakse murdarv. class B { public $x; } $b = new B(); $b->x = 5; // ... // ... $b->x = 4.9; //... $b->x = -7.1; Tavaliselt määratakse kõigile klassi muutujatele private juurdepääsu ja kogu kommunikatsioon klassi muutujatega toimub läbi klassi funktsioone. Sellel juhul klassi B muutuja x väärtustamiseks tuleb kasutada funktsiooni, näiteks $b->setX(mingi arv). Nüüd kui oleks vaja süsteemi ümber ehitada nii, et x väärtused oleksid ainult täisarvud, võib seda teha ainult lisades round() klassi B meetodi setX juurde. Muutuja x väärtuse saamiseks kirjutame lisaks ka funktsioon getX, sest juhul, kui proovime privaatse muutuja x väärtust saada otseselt - visatakse veateade. class B { private $x; public function setX ($value) { $this->x = round($value); } public function getX() {
Struktruuri juures tehti lihtsalt väljade väärtustest koopia ja edasi elas kumbki eksemplar oma elu teisest sõltumata. Kui nüüd aga teha omistamised Punkt p1=new Punkt(3, 4); Punkt p2=p1; //Kasutab sama mälupiirkonda siis on mälus tegelikult koht vaid ühe punkti andmete jaoks, muutujate p1 ning p2 kaudu pääseb lihtsalt ligi samadele andmetele. 34 Nii et kui ühe muutuja kaudu andmeid muuta: p1.SetX(7); siis muutuvad andmed ka teise märksõna alt paistvas vaates. Ehk siis ükskõik, kas andmete poole pöörduda p1 või p2 kaudu ikka saan tegelikult samad väärtused. Console.WriteLine(p2.GetNr()+" "+p2.GetX()+" "+p2.GetY()); trükib välja 1 7 4 ehkki esialgu olid koordinaatideks 3 ja 4 ning p2 kohe deklareerimisel polnud sugugi algne koht esimese punkti andmetele ligi pääsemiseks.
Struktuuri juures tehti lihtsalt väljade väärtustest koopia ja edasi elas kumbki eksemplar oma elu teisest sõltumata. Kui nüüd aga teha omistamised Punkt p1=new Punkt(3, 4); Punkt p2=p1; //Kasutab sama mälupiirkonda siis on mälus tegelikult koht vaid ühe punkti andmete jaoks, muutujate p1 ning p2 kaudu pääseb lihtsalt ligi samadele andmetele. Nii et kui ühe muutuja kaudu andmeid muuta: p1.SetX(7); siis muutuvad andmed ka teise märksõna alt paistvas vaates. Ehk siis ükskõik, kas andmete poole pöörduda p1 või p2 kaudu ikka saan tegelikult samad väärtused. Console.WriteLine(p2.GetNr()+" "+p2.GetX()+" "+p2.GetY()); trükib välja 1 7 4 ehkki esialgu olid koordinaatideks 3 ja 4 ning p2 kohe deklareerimisel polnud sugugi algne koht esimese punkti andmetele ligi pääsemiseks.
Struktuuri juures tehti lihtsalt väljade väärtustest koopia ja edasi elas kumbki eksemplar oma elu teisest sõltumata. Kui nüüd aga teha omistamised Punkt p1=new Punkt(3, 4); Punkt p2=p1; //Kasutab sama mälupiirkonda siis on mälus tegelikult koht vaid ühe punkti andmete jaoks, muutujate p1 ning p2 kaudu pääseb lihtsalt ligi samadele andmetele. Nii et kui ühe muutuja kaudu andmeid muuta: p1.SetX(7); siis muutuvad andmed ka teise märksõna alt paistvas vaates. Ehk siis ükskõik, kas andmete poole pöörduda p1 või p2 kaudu ikka saan tegelikult samad väärtused. Console.WriteLine(p2.GetNr()+" "+p2.GetX()+" "+p2.GetY()); trükib välja 1 7 4 ehkki esialgu olid koordinaatideks 3 ja 4 ning p2 kohe deklareerimisel polnud sugugi algne koht esimese punkti andmetele ligi pääsemiseks.