OOP Inheritance
1 Inheritance (Overerving)
🌟 Leerdoelen
- Je weet wat inheritance (overerving) betekent in OOP.
- Je kunt een class maken die eigenschappen en methodes erft van een andere class.
- Je ziet waarom inheritance handig is: minder herhaling, meer overzicht.
💡 Uitleg
Wat is inheritance?
Inheritance betekent dat je een nieuwe class maakt die eigenschappen en methodes overneemt van een andere class. Dit heet overerving. De 'ouderclass' noem je ook wel de superclass, en de 'kindclass' de subclass.
Voorbeeld
<?php
class Dier {
public $naam;
public function adem() {
echo $this->naam . " ademt.\n";
}
}
class Hond extends Dier {
public function blaf() {
echo $this->naam . " zegt: Woef!\n";
}
}
$rex = new Hond();
$rex->naam = "Rex";
$rex->adem(); // komt uit Dier
$rex->blaf(); // komt uit Hond
?>
👉 De class Hond
erft de methode adem()
van Dier
, maar voegt ook zijn eigen gedrag toe: blaf()
.
🛠️ Opdracht – Maak je eigen dier met overerving
- Bestand: dier.php
Maak een classDier
met:- een property
$naam
- een methode
beweeg()
die"{$this->naam} beweegt."
toont
- een property
- Bestand: vogel.php
Maak een classVogel
dieextends Dier
:- een methode
vlieg()
die"{$this->naam} vliegt!"
toont
- een methode
- Bestand: test.php
- Maak een object
$mus
van de classVogel
- Stel zijn naam in op
"Mus"
- Roep zowel
beweeg()
alsvlieg()
aan
- Maak een object
🧠 Reflectie
- Wat gebeurt er als je
vlieg()
oproept op eenDier
-object? - Kun je uitleggen waarom
Vogel
de methodebeweeg()
kan gebruiken zonder die zelf te schrijven?
📄 Inleveren
dier.php
,vogel.php
,test.php
- Reflectie in
reflectie-les7-<jouw-naam>.txt