educom PHP-basis E-learning

Les 08 — Abstractie, inheritance & interfaces

Abstracte classes, subclasses, pass-by-reference, en interfaces als “contract”.

Begrippen

Demo

opdrachten/08/: bear.php, bear_grizzly.php, opdracht20_bear.php, vehicle_abstract.php, pass_val_ref_*.php, User.php + show_user.php, fruit_example.php, classy.php

Open demo-bron

Klik een bestandsnaam hieronder om de bron op deze pagina te zien (of “Nieuwe tab”). PHP zelf draait bij jou lokaal in XAMPP.

Gewone opdracht

Opdracht 20

Werk de Bear-class uit (zie demos). Toon properties van class én subclasses als string (niet alleen var_dump). Maak subclass Grizzly met boolean method roars(). Bestanden onder 08/.

Extra / variant

Extra A — Opdracht 21 Interface Identifier

Implementeer interface met o.a. setId/getId, checkFileName() (jpg/png/gif), showImage(), showPassport() in class User. Toon resultaat in een show-script.

Extra B Pass-by-ref lab

Maak 08/pass_ref_lab.php dat het verschil value vs reference toont (eenvoudig + met object/class), met korte uitleg in de output.

Extra C Abstract vehicle

Bestudeer/nabouw vehicle_abstract.php: leg in 08/abstract-notitie.md uit waarom je een abstracte class niet direct new kunt doen.

Check

Opleveren

  1. git add 08 → commit → push
  2. Mail: les 08 klaar of hulp + repo-link

Door naar les 09 →