OOP - Juiste denk wijze.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
# errors weergeven
ini_set('display_errors',1); // 1 == aan , 0 == uit
error_reporting(E_ALL | E_STRICT);
class RekenMachiene
{
public function optellen($a, $b)
{
$c = $a + $b;
return $c;
}
public function aftrekken($a, $b)
{
$c = $a - $b;
return $c;
}
}
$optelling = new RekenMachiene;
$uitkomst = $optelling->optellen(5, 8);
echo $uitkomst; // weergeeft 13
?>
# errors weergeven
ini_set('display_errors',1); // 1 == aan , 0 == uit
error_reporting(E_ALL | E_STRICT);
class RekenMachiene
{
public function optellen($a, $b)
{
$c = $a + $b;
return $c;
}
public function aftrekken($a, $b)
{
$c = $a - $b;
return $c;
}
}
$optelling = new RekenMachiene;
$uitkomst = $optelling->optellen(5, 8);
echo $uitkomst; // weergeeft 13
?>
Gewijzigd op 07/10/2011 17:00:13 door Jasper DS
Nee, als je alleen de functie-parameters gebruikt, en er daarna niets mee doet. Dan moet je de variabelen niet in de klasse zelf laden.
Ik heb geen kaas gegeten van OOP dus het kan zijn dat ik onzin aan het uitkramen ben. Maar zijn de functies optellen en aftrekken niet wat beperkt? Wat als ik nu 3 of meer getallen wil optellen?
Ik ben maar aan het oefen op het OOP denken.. Stap voor stap dus Mark eerst dit checken. :)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
class Getal {
private $value;
public function __construct($getal) {
$this->value = $getal;
}
public function optellen($anderGetal) {
if (is_numeric($anderGetal)) {
$this->value = $this->uitkomst + $anderGetal;
} else if ($som instanceof Som) {
$this->value = $this->value + $anderGetal->value();
}
}
public function value() {
return $this->value;
}
public function __toString() {
return (string) $this->value;
}
}
?>
class Getal {
private $value;
public function __construct($getal) {
$this->value = $getal;
}
public function optellen($anderGetal) {
if (is_numeric($anderGetal)) {
$this->value = $this->uitkomst + $anderGetal;
} else if ($som instanceof Som) {
$this->value = $this->value + $anderGetal->value();
}
}
public function value() {
return $this->value;
}
public function __toString() {
return (string) $this->value;
}
}
?>
Gewijzigd op 07/10/2011 17:34:12 door Fabian M
Dit is niet OOP, maar een verzameling van functies. Daarvoor is het systeem ook veel te simpel. Probeer te beginnen met iets moeilijkers, dit is net iets te simpel voor OOP. (vind ik)
Daarnaast $optelling is niet het juiste woord. Je maakt daar een nieuw rekenmachine object aan, geen optel object.
Om het wat meer OOP te laten zijn zou ik het zo doen:
Code (php)
Wouter J op 07/10/2011 17:38:00:
1 foutje in de PHP code. error_reporting(E_ALL | E_NOTICE) Moet met 2 || (E_ALL || E_NOTICE)
Dit is niet OOP, maar een verzameling van functies. Daarvoor is het systeem ook veel te simpel. Probeer te beginnen met iets moeilijkers, dit is net iets te simpel voor OOP. (vind ik)
Daarnaast $optelling is niet het juiste woord. Je maakt daar een nieuw rekenmachine object aan, geen optel object.
Om het wat meer OOP te laten zijn zou ik het zo doen:
Dit is niet OOP, maar een verzameling van functies. Daarvoor is het systeem ook veel te simpel. Probeer te beginnen met iets moeilijkers, dit is net iets te simpel voor OOP. (vind ik)
Daarnaast $optelling is niet het juiste woord. Je maakt daar een nieuw rekenmachine object aan, geen optel object.
Om het wat meer OOP te laten zijn zou ik het zo doen:
Code (php)
Ik ben het er niet mee eens dat dit geen OOP is.. Dit is OOP, maar simpel.
Oh, en probeer alles in het engels te doen, het zegt niets over OOP, maar het is gewoon netter.
Ook moet je er wel toe in staat zijn, anders is er niemand die je code kan lezen.
Als je in het Nederlands programmeert dan zijn dat er ook niet veel. Ik gebruik eigenlijk alleen op phphulp Nederlands als ik iemand iets probeer uit te leggen. Voor de rest is alles wat ik schrijf in het Engels. Ik wil niet gebonden zijn aan 1 land.
Het is inderdaad persoonsgebonden, maar ik(en met mij nog vele anderen) prefereren engels. Daarbij is het door elkaar gebruiken van verschillende talen(Fabian) helemaal not done.
Jacco Brandt op 07/10/2011 23:25:46:
Het is inderdaad persoonsgebonden, maar ik(en met mij nog vele anderen) prefereren engels. Daarbij is het door elkaar gebruiken van verschillende talen(Fabian) helemaal not done.
Inderdaad, verschillende talen gebruiken was inderdaad verkeerd, maar omdat dit een Nederlands fora is, had ik paar Nederlandse woorden gebruikt om het iets duidelijker te maken.
Als ik 'echt' programmeer, dan gebruik ik alleen Engels.