PHP expert |
|
Stel ik heb een class die bv. alleen maar 1 ding kan terugsturen.
Stel ik wil een rekenmachine maken (die alleen maar optelt) via een class.
Wat heb ik dan nodig:
1) een invoermethode
2) een rekenmethode
3) een terugstuurmethode
Voor dit aan te roepen heb je volgende lijnen nodig:
<?php
$rekenmachine = new rekenmachine;
$rekenmachine->invoer(4,5);
$rekenmachine->reken();
echo $rekenmachine->uitvoer();
?>
<?php $rekenmachine = new rekenmachine; $rekenmachine->invoer(4,5); $rekenmachine->reken(); echo $rekenmachine->uitvoer(); ?>
Als je class er zo uit ziet:
<?php
class rekenmachine{
private $get1;
private $get2;
private $res;
function invoer($getal1,$getal2) {
$this->get1 = $getal1;
$this->get2 = $getal2;
}
function reken() {
if(is_numeric($this->get1)&&is_numeric($this->get2)){
$this->res = $this->get1 + $this->get2;
}
}
function uitvoer() {
return $this->res;
}
}
?>
<?php class rekenmachine{ private $get1; private $get2; private $res; function invoer($getal1,$getal2) { $this->get1 = $getal1; $this->get2 = $getal2; } function reken() { if(is_numeric($this->get1)&&is_numeric ($this->get2)){ $this->res = $this->get1 + $this->get2; } } function uitvoer() { return $this->res; } } ?>
Dit is natuurlijk heel omslachtig voorgesteld, maar om even een duidelijk beeld te scheppen.
Nu kan je dit korter schrijven door een constructor te gebruiken (je kan ook door andere manieren maar dat is dan slordig oid) zodat je het zo aanroept:
<?php
$rekenmachine = new rekenmachine(4,5);
$rekenmachine->reken();
echo $rekenmachine->uitvoer();
?>
<?php $rekenmachine = new rekenmachine(4,5); $rekenmachine->reken(); echo $rekenmachine->uitvoer(); ?>
En dan ziet je class er zo uit:
<?php
class rekenmachine{
private $get1;
private $get2;
//php5:
function __construct($getal1,$getal2) {
$this->get1 = $getal1;
$this->get2 = $getal2;
}
//php4:
function rekenmachine($getal1,$getal2) {
$this->get1 = $getal1;
$this->get2 = $getal2;
}
function reken() {
if(is_numeric($this->get1)&&is_numeric($this->get2)){
$this->res = $this->get1 + $this->get2;
}
}
function uitvoer() {
return $this->res;
}
}
?>
<?php class rekenmachine{ private $get1; private $get2; //php5: function __construct($getal1,$getal2) { $this->get1 = $getal1; $this->get2 = $getal2; } //php4: function rekenmachine($getal1,$getal2) { $this->get1 = $getal1; $this->get2 = $getal2; } function reken() { if(is_numeric($this->get1)&&is_numeric ($this->get2)){ $this->res = $this->get1 + $this->get2; } } function uitvoer() { return $this->res; } } ?>
|