Skip to main content

3.1 Van Functie naar OOP

In deze les gaan we uitleggen wat de beperkingen van functies zijn en waar object oriented programming een oplossing voor kan bieden.

Eerst gaan we dan kijken wanneer functies niet zo handig zijn.

Neem de code uit dit voorbeeld over.

<?php

global $som;
global $aantal;

$som=0;
$aantal=0;

function berekenGemiddelde($cijfer){
  global $som, $aantal;
  $som=$som+$cijfer;
  $aantal++;
  $gemiddelde=$som/$aantal;
  return($gemiddelde);
}

echo "Gemiddelde: ".berekenGemiddelde(6)."<br>";
echo "Gemiddelde: ".berekenGemiddelde(7)."<br>";
echo "Gemiddelde: ".berekenGemiddelde(8)."<br>";

?>

Opdracht 1

Splits de functie, berekenGemiddelde($cijfer) in twee functies.

Eén functie, voegCijferToe($cijfer) waarmee je een cijfer toevoegt (maar niets returned) en eenandere functie, BerekenGemmidelde(), waarmee je het gemiddelde berekend.

Gebruik de twee nieuwe functie om het gemiddelde van het volgende array te berkenen. Maar gebruik van een loop.

$cijfersPHP=[7,5,6,6,8,7,9,6,5,7];

Je maakkt hierbij gebruik van de twee nieuwe functies die je hebt gemaakt. De functie voegCijferToe($cijfer), wordt dus in de loop uitgevoerd en als je alle array elementen hebt toegevoegd dan roep je de functie BerekenGemiddelde() aan om het gemiddelde af te drukken.

OOP, Object Oriented Programming

We gaan nu kijken naar OOP.

<filmpje>

De code uit dit voorbeeld is.

<?php

Opdracht 2

Bereidt de class uit met een extra functie. Deze functie kan cijfers toevoegen die dubbel mee tellen voor het gemiddelde.

Voorbeeld: Je hebt een 5 en een 8 gehaald. De 8 telt twee maal mee. Je roept de functie xxx aan op de volgende manier:

xxx(5,1)
xxx(8,2)

Het gemiddelde wordt dan 7 (5 + 8 + 8 = 21, 21 / 3 = 7).